《可视化计算》第5章排序与查找(A)要点.ppt

桶排序的输出结果 * 冒泡排序 冒泡排序(Bubble Sort)的基本概念是: 将被排序的记录数组a[1..n]垂直排列,每个记录a[i]看作是重量为a[i]所存数值的气泡 根据轻气泡不能在重气泡之下的原则,从下往上扫描数组a[]:凡扫描到违反本原则的轻气泡,就使其向上飘浮“ 如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止 * * 冒泡排序main子图 * 冒泡算法说明 初始状态: a[1..n]为无序区。 第一次扫描:从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置,第一次扫描完毕时,最轻的气泡就飘浮到该区间的顶部,即关键字最小的记录被放在最高位置a[1]上。 第二次扫描:扫描a[2..n]。扫描完毕时,次轻的气泡飘浮到a[2]的位置上……。 最后,经过n-1 趟扫描可得到有序区a[1..n] * 冒泡排序 bubble子图 * 冒泡算法如何改进? 假如待排序列已经是基本有序的(只有两个数字需要换位),如何能够在n-1趟之前,结束排序? 提示:可以将已经排好的数据,有意调换一对,然后使用改进后的算法实验(从文件读入待排数据) * 快速排序 快速排序(Quick sort)是在冒泡排序基础上做了适当的改进 快速排序是由C. A. R. Hoare在1962年提出的 它采用了分治的策略,是一种划分交换排序算法 被誉

文档评论(0)

1亿VIP精品文档

相关文档