Java高頻演算法 排序 查詢總結

2021-09-07 14:27:53 字數 1619 閱讀 2463

氣泡排序

對於給定的n個記錄,從最後乙個記錄開始依次對相鄰的兩個記錄進行比較,當後面的記錄小於前面的記錄時,交換位置,進行一輪比較和換位後,n個記錄中最小記錄將位於第1位;然後對後(n-1)個記錄進行第二輪比較;重複該過程直到進行比較的記錄只剩下乙個為止。

public class solution1 

public static void sort(int a,int low,int high)

} public static void main(string args);

myminheapsort(a);

for(int i=0;i插入排序

對於給定的一組記錄,初始時假設第乙個記錄自成乙個有序序列,其餘記錄為無序序列。接著從第二個記錄開始,按照記錄的大小依次將當前處理的記錄插入到其之前的有序序列中,直至最後乙個記錄插入到有序序列中為止。

public class solution4

}a[j]=temp;}}

} public static void main(string args);

insertsort(a);

for(int i=0;i選擇排序

對於給定的一組記錄,經過第一輪比較後得到最小的記錄,然後將該記錄與第乙個記錄的位置進行交換;接著對不包括第乙個記錄的其他記錄進行第二輪比較,得到最小的記錄並與第二個位置交換;重複該過程,直到進行比較的記錄只有乙個時為止。

public class selectsort else

}// 把左邊剩餘的數移入陣列

while (i <= mid)

// 把右邊邊剩餘的數移入陣列

while (j <= high)

// 把新陣列中的數覆蓋nums陣列

for (int k2 = 0; k2 < temp.length; k2++)

}public static void mergesort(int a, int low, int high)

}public static void main(string args) ;

mergesort(a, 0, a.length - 1);

system.out.println("排序結果:" + arrays.tostring(a));}}

二分查詢

public class binarysearch 

else if(index>array[mid])else

}return -1;

}public static void main(string args);

system.out.println(sort(a,10,0,a.length-1));

}}

**粘進**框,格式有些問題,調整不了,逼死強迫症啊!啊!啊!!!

Java排序演算法總結

前面講了10種基本的排序演算法,現在來作下總結,基於下面幾個方面來比較各個排序演算法的優劣 時間複雜度,空間複雜度,穩定性,適用場景 排序演算法 時間複雜度 空間複雜度 穩定性適用場景 直接選擇排序 o n 2 o 1 不穩定時間效率不高,但是空間效率很高,演算法實現比較簡單 堆排序o nlogn ...

排序演算法總結 java

1 歸併排序 mergesort 歸併 排序具體工作原理如下 假設序列共有n個元素 將序列每相鄰兩個數字進行歸併操作 merge 形成floor n 2 個序列,排序後每個序列包含兩個元素 將上述序列再次歸併,形成floor n 4 個序列,每個序列包含四個元素 重複步驟2,直到所有元素排序完畢 時...

Java 各種基礎的查詢和排序演算法總結

查詢方法 1.順序查詢。按陣列的順序從前往後一直比較,直到找到目標值返回。優點 對陣列的結構沒有特定的要求,演算法簡單。缺點 當陣列個數n較大時,效率低下。時間複雜度 最大時間複雜度是o n 最小時間複雜度是o 1 平均時間複雜度是o n 2 順序查詢演算法 param array 陣列 param...