摘要: 归并排序仍然是利用完全二叉树实现,它是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。 基本过程:假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并 阅读全文
posted @ 2016-12-07 20:40 webber_liu 阅读(5010) 评论(0) 推荐(0) 编辑
摘要: 堆排序是对选择排序的一种优化算法,都属于选择排序类。 基本过程:堆是一种完全二叉树,是一种树形选择结构,将待排序的序列构造成一个大顶堆(即每个节点的值都大于或等于其左右孩子节点的值),然后将堆顶的根节点移走,与堆数组的末尾元素交换,此时末尾元素就是最大值。再将剩余的n-1个序列重新构造一个堆,得到次 阅读全文
posted @ 2016-12-07 13:31 webber_liu 阅读(421) 评论(0) 推荐(0) 编辑