算法

提取 25% 和 75% 標記的最快算法

  • September 19, 2012

我正在手動滾動一些視覺化算法。

提取時間序列的最小值/最大值是 $ O(n) $ , 對於 n 個條目。

如果我想要 25% 和 75% 的標記,我可以使用 $ O(n \log n) $ 時間排序,然後得到 25% 和 75% 的分數。

但是,有沒有辦法線上性時間內做到這一點?

是的,有一種方法可以線上性時間內找到未排序列表中的第 k 個最大元素。但是,根據您使用的程序,實施該算法可能不會提高性能。內置sort函式可能在 C 中進行了優化,因此速度非常快。

引用自:https://quant.stackexchange.com/questions/4145