作者lunashining (asdfgh)
看板C_Sharp
標題[問題] Sort的演算法是什麼?
時間Wed Feb 17 17:56:33 2016
想問list或是array的Sort()裡的演算法是哪一種?
因為看msdn只說是default也沒有原始碼
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.96.185.163
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1455702995.A.E85.html
1F:→ ssccg: 你msdn沒仔細看,上面是寫用default的Comparer 02/17 18:03
2F:→ ssccg: 備註有寫用的演算法,基本上是quicksort 02/17 18:09
4F:→ Litfal: 應該是introsort----改良版的quicksort 02/17 19:58
6F:推 JackBaska: 我想很難不用quick,其他算法要是你sort多一點就GG了 02/20 11:03
7F:→ remmurds: QuickSort是整個 .NET framework 中最常用的排序演算法 02/21 20:37
8F:→ remmurds: 不只List和Array LINQ的OrderBy也是用它 02/21 20:38
9F:→ remmurds: 畢竟它又快又穩 02/21 20:40
10F:→ Litfal: 不對喔,Sort本身不是穩定(stable)的,但OrderBy是。 02/21 21:56
11F:→ Litfal: 如果你的穩不是這個穩的話,那當我沒說 02/21 21:57
12F:推 JackBaska: 他應該不是說worst case複雜度的穩,而是平均表現得穩 02/22 09:00
13F:→ JackBaska: 畢竟你很難真的遇到很random排的data 02/22 09:01
14F:→ Litfal: 抱歉我說的也不是這種穩定 02/22 17:31