摘要: 几种排序算法的联系 希尔排序相当于直接插入排序的升级,同属于插入排序类; 堆排序相当于简单选择排序的升级,同属于选择排序类; 快速排序是最慢的冒泡排序的升级,属于交换排序类; 快速排序的基本思想 快速排序是通过不断比较和移动交换来实现排序的,只不过它的实现增大了记录的比较和移动的距离,将关键字较大的 阅读全文
posted @ 2021-08-17 18:07 Yu_tiann 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 归并排序算法简介 归并排序就是利用归并的思想实现的排序方法 假设初始序列含有n个记录,看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到 |n/2|(|x|表示不小于x的最小整数)个长度为2或1的有序子序列;再两两归并,如此重复,直至得到一个长度为n的有序序列为止,这种排序方法称为2路 阅读全文
posted @ 2021-08-17 14:46 Yu_tiann 阅读(841) 评论(0) 推荐(0) 编辑
摘要: 堆排序算法用到的大顶堆/小顶堆 以使用大顶堆的堆排序算法为例,其实堆排序算法的原理就是不断将剩余的未完成排序的数据构造成一个大顶堆,然后每次将大顶堆的堆顶元素(也就是最大的元素)取出,如此循环即完成了堆排序。 大顶堆:每个结点的值都大于或等于其左右孩子结点的值,如下图所示,就是一个大顶堆: 堆排序算 阅读全文
posted @ 2021-08-17 00:29 Yu_tiann 阅读(243) 评论(0) 推荐(0) 编辑