我很想找到一種比較排序算法,該算法可以最大限度地減少在算法運行期間每個元素與其他元素進行比較的次數。排序算法最大限度地減少了涉及單個項目的最大比較次數
對於隨機排序的列表,我對兩個分佈感興趣:對列表進行排序所需的比較次數(這是傳統標準)以及列表中每個單個元素的比較次數參與其中。
在比較數量方面表現出色的算法中,比如平均實現O(n log(n)),我想找出一個平均值爲單個元素與其他元素進行比較的次數被最小化。
我認爲理論上的最小值是O(log(n)),它是通過將上圖中的比較總數除以n得到的。
我對數據可能已經在一定程度上已經訂購的情況也感興趣。
也許模擬是尋找答案的最佳方式?
(我以前的問題一直被擱置 - 現在這是一個非常明顯的問題,如果你不能瞭解它,然後請解釋原因)
程序員stackexchange可能是這個問題的一個更好的地方,請參閱:http://programmers.stackexchange。com/help/on-topic – nibarius
@rpy:平均而言,我是指長度爲n的列表的預期數量,假設所有初始訂單具有相同的可能性。對於一個具體的例子,你可能想要考慮使用一種算法來提供比較,而真正的人進行比較(例如,圖片/想法之間);在這種情況下,目標是儘可能減少冗長的比較。 – Gio
@nibarius在提及其他網站時,指出[交叉發佈令人不悅](http://meta.stackexchange.com/tags/cross-posting/info) – gnat