摘要: 1.归并排序 归并排序利用分治的思想实现,其操作方式为:(1)分解待排序的n个元素的序列成各具n/2个元素的两个子序列.(2)使用归并排序递归地排序两个子序列.(3)合并两个已排序的子序列以产生已排序的序列.归并排序的时间复杂度是O(n*log2n)。算法处理过程中,需要一个大小为n的临时存储空间用 阅读全文
posted @ 2016-07-14 23:01 阿Hai 阅读(216) 评论(0) 推荐(0)
摘要: 1.直接插入排序 插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。插入排序的工作方式像玩扑克牌时顺序放牌一样。开始时,左手为空并且桌子上的牌面向下。然后,每次从桌上拿一张牌并将它插入左手中正确的位置。为了找到正确的位置,我们从右到左将它与已在手中的每张牌 阅读全文
posted @ 2016-07-14 22:57 阿Hai 阅读(185) 评论(0) 推荐(0)
摘要: 堆排序 堆排序时间复杂度为O(nlgn),且具有空间原址性,只需要常数个额外的元素空间存储临时数据。但堆排序是不稳定的算法,即对相等的两个元素,排序后不能保证他们的顺序与原始数据的顺序相同。 1.堆 堆是一个数组,可以把它看成一个近似的完全二叉树。树上的每一个结点对应数组中的一个元素,除最底层外,该 阅读全文
posted @ 2016-07-14 17:32 阿Hai 阅读(237) 评论(0) 推荐(0)