1樓:吃美食天下
這個各取所需,根據不同的需要選取不同的方法。
我們通常所說的排序演算法往往指的是內部排序演算法,即資料記錄在記憶體中進行排序。
排序演算法大體可分為兩種:
一種是比較排序,時間複雜度o(nlogn) ~ o(n^2),主要有:氣泡排序,選擇排序,插入排序,歸併排序,堆排序,快速排序等。
另一種是非比較排序,時間複雜度可以達到o(n),主要有:計數排序,基數排序,桶排序等。
排序演算法穩定性的簡單形式化定義為:如果ai = aj,排序前ai在aj之前,排序後ai還在aj之前,則稱這種排序演算法是穩定的。通俗地講就是保證排序前後兩個相等的數的相對順序不變。
對於不穩定的排序演算法,只要舉出一個例項,即可說明它的不穩定性;而對於穩定的排序演算法,必須對演算法進行分析從而得到穩定的特性。需要注意的是,排序演算法是否為穩定的是由具體演算法決定的,不穩定的演算法在某種條件下可以變為穩定的演算法,而穩定的演算法在某種條件下也可以變為不穩定的演算法。
例如,對於氣泡排序,原本是穩定的排序演算法,如果將記錄交換的條件改成a[i] >= a[i + 1],則兩個相等的記錄就會交換位置,從而變成不穩定的排序演算法。
其次,說一下排序演算法穩定性的好處。排序演算法如果是穩定的,那麼從一個鍵上排序,然後再從另一個鍵上排序,前一個鍵排序的結果可以為後一個鍵排序所用。基數排序就是這樣,先按低位排序,逐次按高位排序,低位排序後元素的順序在高位也相同時是不會改變的。
2樓:秒懂百科
直接插入排序:一種最簡單的排序方法
c語言排序方法中哪一種最方便
3樓:song宋
冒泡,選擇,插入,
這三種都是比較簡單的
4樓:物理公司的
冒泡最簡單,快排最快,當然和你的數的儲存結構,分佈方式都有關係,選擇最合適的演算法也是一種能力
5樓:家高韻冼姝
1.比較法2.選擇排序3.氣泡排序4.希爾排序5.快速排序6.堆排序7.合併排序8.基數排序9.折半插入排序10.直接插入排序
大量資料用哪種演算法排序最好
6樓:醬爆小鯉魚
七種排序演算法:冒泡、選擇、插入、快速、bucket、shell、heap
其中冒泡是最簡單、也是效率最低的一種排序方法,老師要求我們掌握的是選擇排序法。
快速排序法可以說是最好的排序演算法:首先選一個分界值,把大於分界值和小於分界值的資料分成兩部分;對於分開的部分,不斷重複這個過程,直到結束。
7樓:祚胤
快速排序的c實現或彙編實現
j**a排序,效率高的是哪種排序方法
8樓:
具體情況具體分析。。。
資料基本有序了用冒泡最快了
歸併排序佔用空間
適用於對空間要求不高的場合
堆排序情況也跟歸併差不多
但也與堆的實現有關係
快速排序一般來說很好,適用於資料量大的情況資料量少的話還是別用了
有時反而不如o(n^2)的排序方法
9樓:
看具體情況使用.順序排列,索引最快是linkedlist,有插入操作的是arraylist
verctor是同步的,安全,效能較低
10樓:匿名使用者
和所有其他語言是一樣的。應該還是快速排序效率最高。
哪種方法打耳洞痛感最小,哪種方法打耳洞好的快?
鐳射的方式雖然痛感較小 但是這隻有少部分的醫院才提供的 不過環境會讓你的心裡更緊張.槍打的最痛 因為槍打下去還要彈回來這個過程會讓你的耳洞拉扯 容易有發炎的情況 對耳朵的復原不好 比較 的方法應該是手穿 他會先不停的揉你耳垂直到沒有感覺 才會開始穿 但是這樣的方式有可能會讓耳洞的前後位置不準確 以後...
在解決死鎖問題的幾個方法中,哪種方法最容易實現 哪種方法使資
解決 處理死鎖抄的方法有預防死鎖 避免死鎖 檢測和解除死鎖,其中預防死鎖方法最容易實現,但由於所施加的限制條件過於嚴格,會導致系統資源利用率和系統吞吐量降低 而檢測和解除死鎖方法可是系統獲得較好的資源利用率和系統吞吐量。預防死復鎖最容易實現,但是由制 於這種方法施加的限制條件太嚴格,可能會導致系統資...
牙齒美白的方法哪種效果好,牙齒美白哪種方法好?
你好!每種美白牙齒的方法都有每種方法的好處,要根據個人具體情況去選擇。冷光牙齒美白是針對牙齒變色 快速 的一種辦法.結束後可能會出現牙齒敏感的情況,但會在 後6 24小時消失。牙齒美白有很多種,化學漂白包括家庭或診所藥物美白 鐳射美白 冷光美白等。遮蓋美白包括烤瓷牙 牙貼面和牙塗料。不等,需要選擇適...