摘要: 思路 什么是堆 ①一棵完全二叉树,所以能用数组表示 ②堆顶为最大或最小(大根堆,小根堆),除了堆顶,堆里的元素没有用 ③左孩子右孩子都是堆 堆排序分两步 ①建堆 以原数组为空间建堆(代码选用着这种) 新建空间建堆 两种方法建立起来的堆不一样 ②调整堆 因为一个堆有用的就是堆顶元素,当我们取出堆顶元素 阅读全文
posted @ 2020-10-13 17:01 肥斯大只仔 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 思路总结 先将n个记录两两分组 若n为奇数也没关系,1个记录的组不需要进行比较,回到递归上一层会进行3个记录的merge 分组完成后,进行两两合并merge,merge中进行排序 因为两个需要合并的数组都是有序的,所以不需要O(nlogn)的排序方法,进行O(n)的比较排序即可 merge中需要辅助 阅读全文
posted @ 2020-10-13 11:34 肥斯大只仔 阅读(173) 评论(0) 推荐(0) 编辑