gpt4 book ai didi

c - 我们怎样才能找到数组中第 i 个最大的元素?

转载 作者:太空狗 更新时间:2023-10-29 15:12:40 26 4
gpt4 key购买 nike

使用数据结构自平衡二叉搜索树查找数组中第 n 个最小/最大元素的算法..

阅读帖子:Find kth smallest element in a binary search tree in Optimum way .但是正确答案并不清楚,因为我无法找出正确答案,以我举的例子......请多解释一下......

最佳答案

C.A.R. Hoare 的select 算法正是为此目的而设计的。它以 [预期] 线性时间执行,具有对数的额外存储空间。

编辑:排序的明显替代方案,然后选择正确的元素具有 O(N log N) 复杂度而不是 O(N)。按排序顺序存储 i 最大的元素需要 O(i) 辅助存储,以及大致 O(N * i log i) 复杂度。如果 a priori 已知 i 非常小(例如 1 或 2),那么这可以获胜。对于更一般的用途,select 通常更好。

Edit2:顺便说一下,我没有很好的引用资料,但在 previous answer 中描述了这个想法。 .

关于c - 我们怎样才能找到数组中第 i 个最大的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3124257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com