摘要:
希尔排序 - Shell Sort1:算法介绍 希尔排序是插入排序的一种算法,又称缩小增量排序,该方法将整个无序序列分割成若干小的子序列分别进行插入排序。该方法因DL.Shell于1959年提出而得名。2:基本思想 首先取一个小于n的整数d1作为第一个增量,所有距离为d1的倍数的记录放在同一个组中,这样就把文件的全部记录分成d1个组。然后各个组内进行直接插入排序;然后去第二个增量d2<d1重复上述的分组和排序,直至最后所取的增量为dt=1,及此时所有的记录放在同一个组中,此时任然进行最终的直接插入排序来获得最终的排序结果。 该方法实际上是一种分组插入算法。一般的初次取序列的一般作为增量, 阅读全文
posted @ 2013-04-25 21:47
littleCat
阅读(110)
评论(0)
推荐(0)
摘要:
折半插入排序 - Binary Insert Sort 折半插入排序是对直接插入排序的改进。由于查找A[i]的插入位置时是在有序表中进行查找,因此可以采用折半查找,从而减少比较次数,但是对应的移动次数却没有发生改变。算法的主要区别在于寻找插入位置的方法。 在直接插入排序中,寻找插入位置是遍历查找,而在折半插入排序中,采用的是折半查找:首先定义有序表的低位A[low]和高位A[high],在比较时 是将temp与A[middle](mid = (high+low/2))进行比较,这也是折半查找名字的由来。如果A[middle] > temp 待排序元素,则插入位置位于A[low]和A[mi 阅读全文
posted @ 2013-04-25 18:57
littleCat
阅读(174)
评论(0)
推荐(0)
摘要:
直接插入排序-Straight Insert Sort1:算法介绍 这是自己写的第一个算法简单的排序算法:直接插入排序。插入排序时最简单的排序算法,能够对少量元素进行快速的排序。1.1: 算法特征 算法的时间复杂度是O(n2).空间复杂度是O(1)。插入算法属于原地(In-place)、稳定排序算法的一种。2:算法基本思想 在排好子数组A[1..j-1]后,将A[j]插入,形成排序好的子数组A[1..j]. 插入排序的数据集合分为两部分,第一部分是已经排序好的数据集合;第二部分是待排序的数据集合。每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。最终返回的是排... 阅读全文
posted @ 2013-04-25 18:51
littleCat
阅读(442)
评论(0)
推荐(0)
浙公网安备 33010602011771号