2012-09-05 58 views

回答

0

根據列的大小,你可以做兩件簡單的事情:

最大運行一次,再次刪除最大元素,運行最大,然後你有第二個最高值。

或者,您可以對數據進行排序或使用最大堆來存儲它。分類數據更容易處理。

對於小數據集,第一種方法將更有效。對於較大的集合,在找到期望值之前對其進行分類更有意義。

+0

對於一個大集合,排序會更重。畢竟排序是O(nlogn)。在分佈式系統上,情況會更糟糕。 – Navneet

+0

是的,但對於大型數據集,如果您不得不遍歷一次,它將變爲O(n^2)。從技術上講,遍歷列表兩次是O(2n),但排序通常是首選(例如,如果他想查找「m」最大的數字)。 – Kevin

相關問題