2。5 本章小结
首先进行了用户的需求分析,然后设计出了两种设计思路,通过对两种设计思路进行比较,分析了两种设计思路的优缺点,最终确定了执行方案,根据执行方案,对系统的功能进行了模块化的分析,画出了系统的功能结构图。确定了系统的开发环境。对系统的用例进行了识别,构建了系统的用例图,并且细化了用例图。
第3章 系统中的算法分析
3。1 冒泡排序
(1)基本原理
把无序数组R(1。。。n)垂直地排列,把每个数组R(i)看成是重量为R(i)的气泡。根据重气泡在轻气泡之下的原则,从下往上开始扫描数组R:把扫描到违反本原则的轻气泡,向上移动。像这样反复地进行,直到最后任意两个气泡都是重者在下,轻者在上,为止。这样数组就按从小到大排序完毕了。
(2)流程图
图3。1冒泡排序流程图
3。2 直接选择法排序
(1)基本原理
假如一个无序数组有n个元素。第一次,选出一个最小的元素,把他与该数组的第一个元素进行交换。第二次,在第二个元素到第n个元素的无序数组中,再次选出最小的元素,把他与第二个元素进行交换。第i次,在第i个元素到第n个元素的无序数组中,再次选出最小的元素,把他与第i个元素进行交换。这样经过n-1趟排序以后,这样数组就按从小到大排序完毕了。
(2)流程图
图3。2直接选择法排序流程图
3。3 快速排序
(1)基本原理
第一步,先从数列中选取出一个数作为基准数。第二步,分区过程,将比这个数大的数全放在它的右边,小于或者等于它的数全放在它的左边,第三部,再对左右区间重复第二步,直到各区间只有一个数。数组便排序完成了。来:自[优.尔]论,文-网www.youerw.com +QQ752018766-
(2)流程图
图3。3快速排序流程图
3。4 堆排序
(1)基本原理
把含有n个元素的无序数组构建成为大根堆,因为大根堆有一个特点,就是最大的元素一定在堆顶,所以就可以很容易选出最大的元素。把选出最大的元素和无序区最后一个元素交换。把剩下的元素继续构建成大根堆,这样又可以选出剩下元素中最大的元素。再把选出的元素和无序区最后一个元素交换。以此类推,经过n-1次构造大根堆,就可以将排序完成。(2)算法举例说明