2013-03-28 40 views
1

你有一套洗牌卡。你必須重新訂購它們。這個排序算法的名字?

您可以通過爲每張卡片分配一個基於其值(jack = 11,queen-12)等及其隨機套件(hearts = 0,clubs = 1 ...)的數字來做到這一點。每張卡片通過公式(14 *套件)+值獲取唯一編號。然後您有一個由52個元素組成的空陣列,並將每張卡放在正確的位置。這非常快 - 大o將是O(N)。這種方法的名稱是什麼?

回答

7

它叫做Counting Sort。你在空間上花費更快。

+0

難道桶排序?是計算排序還是類似這樣的事情,OP只是將元素放在正確的位置,而不用將元素與對方進行比較。 – Anton 2013-03-28 09:38:35

+0

@Anton你完全正確,謝謝!我唯一的藉口是,它是同一個家庭和計數排序實際上是一個簡單的桶排序版本... – SomeWittyUsername 2013-03-28 09:41:27

+0

有點有趣,有多少upvotes這得到了錯誤。 :-) – 2013-03-28 09:42:44