auto commit

This commit is contained in:
CyC2018 2020-11-02 01:06:09 +08:00
parent ae7fd87fc0
commit ef625ece95
2 changed files with 4 additions and 4 deletions

View File

@ -18,9 +18,9 @@
#
用于求解 **TopK Elements** 问题也就是 K 个最小元素的问题可以维护一个大小为 K 的最小堆最小堆中的元素就是最小元素最小堆需要使用大顶堆来实现大顶堆表示堆顶元素是堆中最大元素这是因为我们要得到 k 个最小的元素因此当遍历到一个新的元素时需要知道这个新元素是否比堆中最大的元素更小更小的话就把堆中最大元素去除并将新元素添加到堆中所以我们需要很容易得到最大元素并移除最大元素大顶堆就能很好满足这个要求
用于求解 **TopK Elements** 问题也就是 K 个最小元素的问题使用最小堆来实现 TopK 问题最小堆使用大顶堆来实现大顶堆的堆顶元素为当前堆的最大元素实现过程不断地往大顶堆中插入新元素当堆中元素的数量大于 k 移除堆顶元素也就是当前堆中最大的元素剩下的元素都为当前添加过的元素中最小的 K 个元素插入和移除堆顶元素的时间复杂度都为 log<sub>2</sub>N
堆也可以用于求解 Kth Element 问题得到了大小为 k 的最小堆之后因为使用了大顶堆来实现因此堆顶元素就是第 k 大的元素
堆也可以用于求解 Kth Element 问题得到了大小为 K 的最小堆之后因为使用了大顶堆来实现因此堆顶元素就是第 K 大的元素
快速选择也可以求解 TopK Elements 问题因为找到 Kth Element 之后再遍历一次数组所有小于等于 Kth Element 的元素都是 TopK Elements

View File

@ -18,9 +18,9 @@
#
用于求解 **TopK Elements** 问题也就是 K 个最小元素的问题可以维护一个大小为 K 的最小堆最小堆中的元素就是最小元素最小堆需要使用大顶堆来实现大顶堆表示堆顶元素是堆中最大元素这是因为我们要得到 k 个最小的元素因此当遍历到一个新的元素时需要知道这个新元素是否比堆中最大的元素更小更小的话就把堆中最大元素去除并将新元素添加到堆中所以我们需要很容易得到最大元素并移除最大元素大顶堆就能很好满足这个要求
用于求解 **TopK Elements** 问题也就是 K 个最小元素的问题使用最小堆来实现 TopK 问题最小堆使用大顶堆来实现大顶堆的堆顶元素为当前堆的最大元素实现过程不断地往大顶堆中插入新元素当堆中元素的数量大于 k 移除堆顶元素也就是当前堆中最大的元素剩下的元素都为当前添加过的元素中最小的 K 个元素插入和移除堆顶元素的时间复杂度都为 log<sub>2</sub>N
堆也可以用于求解 Kth Element 问题得到了大小为 k 的最小堆之后因为使用了大顶堆来实现因此堆顶元素就是第 k 大的元素
堆也可以用于求解 Kth Element 问题得到了大小为 K 的最小堆之后因为使用了大顶堆来实现因此堆顶元素就是第 K 大的元素
快速选择也可以求解 TopK Elements 问题因为找到 Kth Element 之后再遍历一次数组所有小于等于 Kth Element 的元素都是 TopK Elements