《資料結構》 內部排序的java實現

2021-09-01 04:45:02 字數 1923 閱讀 5978

1. 插入排序

演算法描述:

從左邊開始增大序列,把右邊的數插到左邊排好序的數字當中,比左邊大,比右邊小。

穩定性:

穩定比較次數:

n(n-1)/2

適用場合:

適用於節點個數比較少的場合。

package com.sam;

public class insertionsort

} /**

* @param args

*/public static void main(string args) ;

int n = 9;

insertsort(a, n);

printarray(a);

} public static void printarray(int a)

system.out.println();

}}

2. 選擇排序

演算法描述:

向右邊減小序列,在所有的數中找乙個最小的排在最左邊

穩定性:

不穩定比較次數:

n(n-1)/2

適用場合:

適用於節點個數較少的場合。

package com.sam;

public class selectionsort

} /**

* @param args

*/public static void main(string args) ;

int n = 9;

selectionsort(a, n);

printarray(a);

} public static void printarray(int a)

system.out.println();

}}

3. 氣泡排序

演算法描述:

從上往下,大數往下沉,小數往上冒,排一次,最大數沉在最底下。

穩定性:

穩定比較次數:

n(n-1)/2

適用場合:

package com.sam;

public class bubblesort

}printarray(a);

n = j;

} }/**

* @param args

*/public static void main(string args) ;

int n = a.length;

bubblesort(a, n);

} public static void printarray(int a)

system.out.println();

}}

4. 快速排序

演算法描述:

第乙個和最後乙個比,找到比它小的數,不忙,再從左邊找到比它大的數,然後從小到大,三個節點重新排序,再遞迴。

穩定性:

不穩定比較次數:

1.4nlog2n

適用場合:

對拍好序的節點執行效率最差

package com.sam;

public class quicksort

a[i] = t;

printarray(a);

quick(a, low, i - 1);

quick(a, i + 1, up);

} }/**

* @param args

*/public static void main(string args) ;

int n = a.length;

quick(a, 0, 8);

} public static void printarray(int a)

system.out.println();

}}

保留行

資料結構 Java實現 排序

直接插入排序 希爾排序 二分插入 簡單選擇排序 堆排序歸併排序 快速排序 氣泡排序 桶式排序 基數排序 插入排序由n 1趟排序組成,對於p 1到p n 1趟,保證位置0到p上的元素為已排序狀態。在第p趟,將位置p上的元素向左移動到正確位置。s n o n 2 public static super ...

資料結構 內部排序

內部排序演算法 時間複雜度 o n 2 o n 2 o n 2 空間複雜度 o 1 o 1 o 1 演算法名稱 插入 選擇 冒泡 演算法名稱 希爾 堆 快速 歸併 基數 空間複雜度 o 1 o 1 o logn o n o 2rd 時間複雜度 o nlogn o nlogn o nlogn o nl...

資料結構 內排序 Java實現

都說資料結構是我們程式設計師的基本功之一,那麼內排序就是資料結構裡必不可少的重要部分。所以自己在學習這部分內容的同時也希望能給大家帶來更多的東西,希望你能有所收穫!在排序過程中,整張表都是在記憶體中處理,不涉及內 外存的資料交換,稱之為內排序。反之,排序過程中需涉及內外存交換的,稱之為外排序。排序過...