我正在尋找一種對字符串進行排序的方法,但是我希望能夠根據我正在建模的問題的要求來選擇排序算法的實現。有一種內在的方式來做到這一點?有沒有辦法在Python中選擇我想要的排序實現?
我知道Python使用Timsort實現排序,但是這種方法不適用。我想知道是否有一種簡單的方法來使用Quicksort,而不必自己編寫它。
我正在尋找一種對字符串進行排序的方法,但是我希望能夠根據我正在建模的問題的要求來選擇排序算法的實現。有一種內在的方式來做到這一點?有沒有辦法在Python中選擇我想要的排序實現?
我知道Python使用Timsort實現排序,但是這種方法不適用。我想知道是否有一種簡單的方法來使用Quicksort,而不必自己編寫它。
該rosettacode.org網站有一個類別約sorting algorithms,其中大部分是用多種語言實現的。所有我看過的都有一個Python實現。
其中,quicksort頁面有python implementation。
''.join(sorted(str))
將返回一個排序的字符串。 可以在Google stuff-
https://github.com/href/Python-Unicode-Collation-Algorithm
http://unicode.org/reports/tr10/
編輯 - 爲什麼-1?大聲笑。
啊好的,好大聲笑..謝謝。將其編輯出來。 – Illusionist
沒有一個(標準)排序算法庫的主要原因是timsort [執行得很好](https://en.wikipedia.org/wiki/Timsort#Performance)關於真實世界的數據。通常比快速排序或合併排序更好。 –
你知道它是否在原地完成嗎?出於這個原因,我會選擇Mersort的Quicksort。 – bmpasini
通常沒有算法是完美的,並且存在折衷,這就是爲什麼我不明白爲什麼沒有內置的方式來選擇我想要的實現...... – bmpasini