数据结构与算法
变量命名好难啊
Master Candidate in FDU
展开
-
别再问我topk问题了
别再问我topk问题了 215. 数组中的第K个最大元素 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素 全局排序法 快速排序,然后直接输出第k个最大的元素,时间复杂度O(nlogn) 冒泡法 如果k比较小,考虑用冒泡法 class Solution: def findKthLargest(self, nu...原创 2020-04-12 21:21:24 · 382 阅读 · 0 评论 -
建堆与堆排序详细解析
1.堆的特性 堆有大根堆和小根堆,大根堆的子树,父结点比子结点都要大,小跟堆的子树,父节点都要比子结点小。 堆有这样的特性: n个元素的堆的高度是lognlognlogn,因为堆是一棵完全二叉树或者近似一棵完全二叉树。 堆中,如果父节点的index是n,那么这个结点的左右子结点的index 分别是2∗index+12*index+12∗index+1和2∗index+22*index +...原创 2019-04-08 13:40:52 · 4297 阅读 · 2 评论