8.3选择排序 8.3.1直接选操排序 1选择排序思想:
8.3 选择排序 8.3.1 直接选择排序 1 选择排序思想:
2算法SSort(R,n) FOR i=1 TO n-1 DO (t-i. FORj=i+1TO n DO IF K<K THEN tj IFt≠THEN R:R) 趟选择排序过程示例 (1) (2) (3) (4) (5) (6) j t 初始 序列 49 25* 16 08] 21 2222228% 16 08] 31 4404044 16 08] 1 25* 16 08] 51 16 08] 6 5 16 08] 6 6 16 08] [25 49 25* 16 21]
(1) (2) (3) (4) (5) (6) j t [21 25 49 25* 16 08] 2 1 初始 序列 2 算法 SSort(R,n) FOR i=1 TO n-1 DO ( t←i . FOR j=i+1 TO n DO IF Kj < Kt THEN t←j . IF t ≠ i THEN Ri Rt )▌ [21 25 49 25* 16 08] 3 1 [21 25 49 25* 16 08] 4 1 [21 25 49 25* 16 08] 5 1 [21 25 49 25* 16 08] 6 5 [21 25 49 25* 16 08] 08 [25 49 25* 16 21] [08 25 49 25* 16 21] [21 25 49 25* 16 08] 6 6 一趟选择排序过程示例
多趟选择排序过程示例 i (1) (2) (3)(4)(5) (6) 初始 6 序列 [21 25 49 25*16 08] 1 08 [25 49 25* 16 21] 5 2 08 16 [49 25* 25 21] 6 3 08 16 21 [25* 25 49] 4 4 0816 21 25*.[25 49] 5 5 0816 21 25*、 25 [49] 6
多趟选择排序过程示例 i (1) (2) (3) (4) (5) (6) t 1 08 [25 49 25* 16 21] 5 2 08 16 [49 25* 25 21] 6 3 08 16 21 [25* 25 49] 4 5 08 16 21 25* 25 [49] 6 [21 25 49 25* 16 08] 6 初始 序列 4 08 16 21 25* [25 49] 5
8.3.2 堆排序 1堆的定义: 如果有一个关键码的集合K={k1,k2,k}把它 的所有元素按完全二叉树的顺序(数组)存 储方式存放在一个一维数组中。并且满足 k:≤k2:且k:≤k2i1/小根堆 或k:≥k2目k:≥k2i+1/大根堆
8.3.2 堆排序 1 堆的定义: 如果有一个关键码的集合K={k1,k2,…kn}把它 的所有元素按完全二叉树的顺序(数组)存 储方式存放在一个一维数组中。并且满足 ki≦ k2i•且ki ≦ k2i+1 // 小根堆 或 ki≧ k2i且ki ≧ k2i+1 // 大根堆