10-2-折半插入排序-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版
课本源码部分
第10章 内部排序 - 折半插入排序
——《数据结构》-严蔚敏.吴伟民版
源码使用说明 链接☛☛☛ 《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
课本源码合辑 链接☛☛☛ 《数据结构》课本源码合辑
习题集全解析 链接☛☛☛ 《数据结构题集》习题解析合辑
本源码引入的文件 链接☛ SequenceListType.c
文档中源码及测试数据存放目录:数据结构\▲课本算法实现\▲10 内部排序\02 BInsertSort
概述
折半插入排序(binary insertion sort)是对插入排序算法的一种改进,所谓排序算法过程,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度。
解析
折半插入排序算法是一种稳定的排序算法,比直接插入算法明显减少了关键字之间比较的次数,因此速度比直接插入排序算法快,但记录移动的次数没有变,所以折半插入排序算法的时间复杂度仍然为O(n^2),与直接插入排序算法相同。附加空间O(1)。
源码
文件一 ☛ BInsertSort.h
文件二 ☛ BInsertSort.c
文件三 ☛ BInsertSort-main.c (测试文档)
文件四 ☛ TestData.txt(排序表测试数据)
测试结果展示