插入排序希尔(Shell)排序快速排序堆排序归并排序基数.ppt
10.1 基本概念 什么是排序(Sorting)? 排序是计算机中经常遇到的操作。 排序分为内排序和外排序. struct Record { int key; …; }; struct Record r[n]; 2. 排序的几个基本概念 (1)内排序与外排序 区分标准:排序过程是否全部在内存进行。 (2) 排序算法的评价标准: 稳定性,时间复杂性,空间复杂性 假设在待排序列中存在多个具有相同关键字的记录,设ki=kj,若排序前ri排在rj的前面,排序后ri仍在rj的前面,则称这种排序方法是稳定的,否则称这种排序方法是不稳定的。 3. 常用的排序算法(8种) 冒泡排序 选择排序 插入排序 希尔(Shell)排序 快速排序 堆排序 归并排序 基数排序 10.2 冒泡排序 基本思想: (1) 两两相邻元素依次进行比较, 让值较大的结点往下移(下沉),让值较小的结点往上移(上冒)。 (2) 在整个排序过程中,最多执行(n-1)趟。但执行的遍数可能少于(n-1),这是因为在执行某一遍的各次比较没有出现数据交换时,就不用进行下一趟比较。 冒泡排序示例 21 25 49 25* 16 08 21 25 25
原创力文档

文档评论(0)