优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

VC毕业设计_多种排序算法动态演示软件的设计和开发

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:
1.1冒泡算法及思想

冒泡排序算法的基本思想:冒泡法的原理很简单,基本思想就是比较相临的两个记录的关键字,若前者比后者小则交换,若前者比后者大则保持不变。先将第一个记录与第二个记录比较,然后是第二个与第三个比较,直到倒数第二个与最后一个记录。比较一轮结束之后,关键字大的记录均向前移动。然后开始新一轮的比较,知道一轮比较下来,不再有记录的交换发生为止。整个过程就有点象水中的气泡上升的过程,轻的往上浮,重的向下沉,这个算法的名字也就由此得来。算法的步骤如下: think58好,好think58

[资料来源:THINK58.com]

(1)假设要排序的数列为A[1]……A[N],我们把相邻的两个数两两进行比较。即把A[1]和A[2]比较,对比完后把A[2]和A[3]进行比较,……直到A[N-1]和A[N]比较完为止。在相邻的两个数两两进行比较的过程中,如果前面的一个数比后面一个数大,则把这两邻的两个数交换,也就是说,我们把较小的数放在前面,把较大的数调到后面。即,如果在一次比较中,如果A[1]比A[2]大的情况下,把A[1]和A[2]交换,……以此类推,直到一轮A[N-1]和A[N]比较完。 copyright think58

[来源:http://think58.com]

(2)再次重复(1),直到相邻两数之间不再发生交换为止。 think58

[资料来源:www.THINK58.com]

例如:一组待排序数列为:

[资料来源:http://www.THINK58.com]

[资料来源:www.THINK58.com]

6 内容来自think58

[资料来源:THINK58.com]

8 copyright think58 [来源:http://think58.com]

5

[资料来源:http://think58.com]

4 think58 [版权所有:http://think58.com]

9 [资料来源:www.THINK58.com]

7

[来源:http://think58.com]

图3-1 待排序组 [版权所有:http://think58.com]

根据算法思路(1)第一次对比后无变化; think58好,好think58

[资料来源:THINK58.com]

根据算法思路(1)第二次对比发生变化:由于A[2]=8 > A[3]=5,所以两者交换

[资料来源:http://THINK58.com]

[资料来源:http://think58.com]

6

[来源:http://think58.com]

5

[资料来源:http://www.THINK58.com]

8

[资料来源:THINK58.com]

4 copyright think58

[资料来源:www.THINK58.com]

9

[资料来源:http://THINK58.com]

7 think58好,好think58

[资料来源:http://think58.com]

图3-2 第一次交换 think58.com [资料来源:http://www.THINK58.com]

根据算法思路(1)第三次对比发生变化:由于A[3]=8 > A[4]=4,所以两者交换 think58好,好think58 [资料来源:http://think58.com]

  copyright think58

[资料来源:THINK58.com]

6 think58好,好think58 [版权所有:http://think58.com]

5 think58好,好think58 [资料来源:www.THINK58.com]

4 think58.com

[来源:http://www.think58.com]

8

[资料来源:http://THINK58.com]

9

[资料来源:http://www.THINK58.com]

7

[资料来源:http://THINK58.com]

图3-3第二次交换 本文来自think58 [来源:http://think58.com]

根据算法思路(1)第四次对比无变化; 本文来自think58 [资料来源:http://THINK58.com]

根据算法思路(1)第五次对比发生变化:由于A[5]=9 > A[6]=7,所有两者交换

[来源:http://think58.com]

6

[资料来源:www.THINK58.com]

5 copyright think58 [资料来源:www.THINK58.com]

4

[来源:http://www.think58.com]

8

[版权所有:http://think58.com]

[版权所有:http://think58.com]

7

[来源:http://think58.com]

9 内容来自think58 [资料来源:http://www.THINK58.com]

图3-4第三次交换 think58

[资料来源:www.THINK58.com]

到此第一轮的排序结束,根据算法思路(2),重新对以交换排列后的数列进行排序直到没有变化为止,生成最后的序列: 本文来自think58 [资料来源:http://think58.com]

4 think58.com [资料来源:http://www.THINK58.com]

5 think58.com [版权所有:http://think58.com]

6

[资料来源:http://think58.com]

7

[资料来源:http://www.THINK58.com]

8 copyright think58 [版权所有:http://think58.com]

9 本文来自think58

[版权所有:http://think58.com]

图3-5最后有序序列

[资料来源:http://www.THINK58.com]

[资料来源:http://think58.com]

分析冒泡排序法的效率,若记录一开始就是从大到小排列,则一次循环就能完成排序;若记录是“逆序”排列的,即是冲小到大的排列,则需n-1次循环(n为需要排序的记录总数),共n(n-1)/2次比较和交换。算法的负责度为O(n ×n).

[资料来源:THINK58.com]