摘要: 排序算法之堆排序 [Toc] 什么是堆? + 堆是一颗完全二叉树 + 堆分为 最大堆和最小堆 + 最大堆父节点都大于子节点, 最小堆父节点都小于子节点 + 左子节点: 2 i +1 (i: 父节点index) + 右子节点: 2 i+2 堆排序 利用最大堆实现升序, 最小堆实现降序. 因为最大堆的根 阅读全文
posted @ 2020-03-21 21:40 洛水赋神 阅读(1492) 评论(0) 推荐(0) 编辑
摘要: JS排序算法之快排和归并 [Toc] 快速排序 原理: 选择一个key(一般是第一个元素), 将数组划分为两个区域. 左边全部区域小于等于key, 右边全部大于key. 然后在通过这种方法将每个区域划分为两个区域. 整个过程可以递归实现,以此实现整个数据有序 + 时间复杂度: O(n log(n)) 阅读全文
posted @ 2020-03-21 20:42 洛水赋神 阅读(924) 评论(0) 推荐(0) 编辑