2014-11-16 18 views

回答

2

不要使用基於比較的算法。使用基於計數的計數。對於24位整數,您可以按照桶分類的三次將每個數字排序8位。

https://en.wikipedia.org/wiki/Bucket_sort

送8個比特的桶大小。這是您CPU架構的自然選擇。

如果元素數量非常大,並且數組尚未部分排序,則桶排序算法通常會優先考慮基於比較的排序算法。

+0

由於桶的排序性質和較大的設置(初始化256桶),桶排序可能不是小輸入的最佳選擇。 – fuz

+0

@FUzzl這就是爲什麼我寫道:「如果元素的數量相當高」.. –

0

我會

  • 交換低8位期望24位數字被存儲在雙字位置。我的建議是比較前8位,如果它們相等,則比較下16位。
    如果您不提供更多信息和代碼示例,詢問效率是無用的。

  • 相關問題