给定1亿int,找出最大的100个

给定1亿个数,找出 最大的 100个java 1. 用一个长度是 101 的数组,创建 小顶堆(0号元素不用,主要是为了使用堆的性质:父结点i,则,左右 子结点 是 2i 和 2i+1)linux 2. 用堆顶 和 每一个 取得的数 进行比较。(a. 堆顶 >= 取得的数,则,忽略 取得的数 b. 不然,把堆顶 替换为 取得的数)算法 3. 新获得的堆, 堆顶 的左右子树 都是 完美堆。须要调整
相关文章
相关标签/搜索