哪种数据结构最有效地找到存储在文件中的 100 万个项目中前 10 个最大的项目?
(A)最小堆
(B)最大堆
(C) BST
(D)排序数组答案:(一)
说明:大小为 10 的最小堆足以找到前 10 个最大的项目。该算法可以给出如下:
1. 使用前 10 个项目创建最小堆。
2. 对于每个剩余的项目,检查是否
2.1 项大于存储在最小堆头中的项。
2.1.1 如果是,用这个新项目替换它。平衡最小堆。
2.1.2 如果不是,则什么都不做。
最后,最小堆将包含前 10 个最大的项目。
📅  最后修改于: 2021-09-08 15:04:17             🧑  作者: Mango
哪种数据结构最有效地找到存储在文件中的 100 万个项目中前 10 个最大的项目?
(A)最小堆
(B)最大堆
(C) BST
(D)排序数组答案:(一)
说明:大小为 10 的最小堆足以找到前 10 个最大的项目。该算法可以给出如下:
1. 使用前 10 个项目创建最小堆。
2. 对于每个剩余的项目,检查是否
2.1 项大于存储在最小堆头中的项。
2.1.1 如果是,用这个新项目替换它。平衡最小堆。
2.1.2 如果不是,则什么都不做。
最后,最小堆将包含前 10 个最大的项目。