數(shù)據(jù)結(jié)構(gòu)排序記憶口訣 數(shù)據(jù)結(jié)構(gòu)的排序方法有哪些?
數(shù)據(jù)結(jié)構(gòu)的排序方法有哪些?1、插入排序(直接插入排序和希爾排序)2、選擇排序(直接選擇排序和堆排序)3、交換排序(冒泡排序和快速排序)4、歸并排序5、基數(shù)排序直接插入排序:逐個將后一個數(shù)加到前面的排好
數(shù)據(jù)結(jié)構(gòu)的排序方法有哪些?
1、插入排序(直接插入排序和希爾排序)2、選擇排序(直接選擇排序和堆排序)3、交換排序(冒泡排序和快速排序)4、歸并排序5、基數(shù)排序直接插入排序:逐個將后一個數(shù)加到前面的排好的序中。在直接插入排序過程中,對其中一個記錄的插入排序稱為一次排序;直接插入排序是從第二個記錄開始進行的,因此,長度為n的記錄序列需要進行n-1次排序才能完成整個序列的排序。時間復雜度為O(n2)。希爾排序:希爾排序又稱縮小增量排序,增量di可以有各種不同的取法,但最后一次排序時的增量必須為1,最簡單可取di 1=di/2(取小)。時間復雜度為O(n(log2n)2)。直接選擇排序說明:每次將后面的最小的找出來插入前面的已排好的序中。同理,具有n個記錄的序列要做n-1次排序。時間復雜度為O(n2)。冒泡排序:兩個兩個比較,將大的往后移。通過第一次冒泡排序,使得待排序的n個記錄中關鍵字最大的記錄排到了序列的最后一個位置上。然后對序列中前n-1個記錄進行第二次冒泡排序。。。對于n個記錄的序列,共需進行n次冒泡排序。時間復雜度為O(n2)??焖倥判颍河纸蟹謪^(qū)交換排序,是對冒泡排序方法的一種改進。時間復雜度為O(nlog2n)。歸并排序:將兩個或兩個以上的有序數(shù)據(jù)序列合并成一個有序數(shù)據(jù)序列的過程。時間復雜度為O(nlog2n)。