java常用排序演算法

2021-08-31 05:31:13 字數 841 閱讀 3475

一  順序查詢 

前提條件:無 

從所傳入集合的一段開始,順序掃瞄,並以此將掃瞄到的值與所傳如德key值進行比較。若有值與其相等,則表明查詢成功;若掃瞄結束後仍沒有值與key值相等,則表明查詢失敗。 

示例**: 

public int seqsearch(int r, int k) 

} return -1; 

} 缺點:執行效率低 

優點:實現方式簡單,比較容易好理解,對集合的資料結構沒什麼要求 

二  二分查詢 

前提條件:集合有序排列(遞增、遞減) 

1  確定查詢範圍,獲取該區間的中間位置:middle=(low+high)/2 

2  然後將待查的k值與r[mid]比較:若相等,則查詢成功並返回此位置,否則須確 

定新的查詢區間,繼續二分查詢。 

① 若r[mid] > k,則由陣列的有序性可知r[mid..n]均大於k,因此該結點必定是 

在位置mid左邊的r[0..mid-1]中 

② 若r[mid] < k,則要查詢的k必在mid的右邊的r[mid+1..n]中,下一次查詢是 

針對新的查詢區間進行的。 

3  因此,從初始的查詢區間r[1..n]開始,每經過一次與當前查詢區間的中點位置上的 

結點關鍵字的比較,就可確定查詢是否成功,不成功則當前的查詢區間就縮小一半。 

這一過程重複直至找到關鍵字為k的結點,或者直至當前的查詢區間為空(即查詢失 

敗)時為止。 

示例**: 

public  int  dichotomymethod(int arrys,int keyvalue)else if(arrys[middle]

java常用排序演算法

一 選擇排序 public class numbersort private static void read string args private static void print int arrays system.out.println private static void select...

java常用排序演算法

氣泡排序演算法 public static void bubbsort int a 演算法思想 由陣列頭部開始,每次比較兩個元素,順序不滿足就進行交換,當前陣列最大值 最小值 會被放在最後。一趟排序完成,然後同樣的方法進行後面的比較。插入排序演算法 public static void inssor...

java常用排序演算法

1 氣泡排序 氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。演算法描述 實現 如下 fu...