摘要:
前面章节中所介绍到的三种插入排序算法,其基本结构都采用数组的形式进行存储,因而无法避免排序过程中产生的数据移动的问题。如果想要从根本上解决只能改变数据的存储结构,改用链表存储。表插入排序,即使用链表的存储结构对数据进行插入排序。在对记录按照其关键字进行排序的过程中,不需要移动记录的存储位置,只需要更 阅读全文
posted @ 2018-05-23 09:31
程序员进阶笔记
阅读(7581)
评论(0)
推荐(1)
摘要:
2-路插入排序算法是在折半插入排序的基础上对其进行改进,减少其在排序过程中移动记录的次数从而提高效率。 具体实现思路为:另外设置一个同存储记录的数组大小相同的数组 d,将无序表中第一个记录添加进 d[0] 的位置上,然后从无序表中第二个记录开始,同 d[0] 作比较:如果该值比 d[0] 大,则添加 阅读全文
posted @ 2018-05-23 09:26
程序员进阶笔记
阅读(572)
评论(0)
推荐(0)
摘要:
上一节介绍了直接插入排序算法的理论实现和具体的代码实现,如果你善于思考就会发现该算法在查找插入位置时,采用的是顺序查找的方式,而在查找表中数据本身有序的前提下,可以使用折半查找来代替顺序查找,这种排序的算法就是折半插入排序算法。 该算法的具体代码实现为: 折半插入排序算法相比较于直接插入排序算法,只 阅读全文
posted @ 2018-05-23 09:23
程序员进阶笔记
阅读(1174)
评论(0)
推荐(0)
摘要:
插入排序算法是所有排序方法中最简单的一种算法,其主要的实现思想是将数据按照一定的顺序一个一个的插入到有序的表中,最终得到的序列就是已经排序好的数据。 直接插入排序是插入排序算法中的一种,采用的方法是:在添加新的记录时,使用顺序查找的方式找到其要插入的位置,然后将新记录插入。 很多初学者所说的插入排序 阅读全文
posted @ 2018-05-23 09:20
程序员进阶笔记
阅读(785)
评论(0)
推荐(0)
摘要:
排序算法 本章详细介绍多种排序算法:插入排序算法、快速排序算法、选择排序算法、归并排序和基数排序等,不仅介绍算法的理论实现,还有可运行的完整代码以及讨论各自的时间复杂度。 本章内容:1. 插入排序算法2. 折半插入排序算法(折半排序算法)3. 2-路插入排序算法4. 表插入排序算法5. 希尔排序算法 阅读全文
posted @ 2018-05-23 09:16
程序员进阶笔记
阅读(383)
评论(0)
推荐(0)

浙公网安备 33010602011771号