基本查詢與二分查詢

2021-10-03 03:14:19 字數 799 閱讀 5654

**

public class demo01 ;

int index = getindexbyele(arr,50);

system.out.println(index);

}private static int getindexbyele(int arr, int ele)

}return -1;//如果找不到則返回-1;}}

二分查詢思想

1,首先獲取最小索引int minindex=0;

最大索引int maxindex =arr.length-1;

中間索引int centerindex= int centerindex=(minindex+maxindex)/2

2,會出現三種情況

①查詢元素剛好為中間索引元素,直接返回中間索引

②查詢元素大於中間索引則將最小索引設定為中間索引+1,重新設定中間元素索引,再次查詢

③若查詢元素小於中間索引則將最大索引設定為中間索引-1,重新設定中間元素索引,再次查詢

**public class demo02 ;

int index=getindexbyele(arr,50);

system.out.println(index);

}private static int getindexbyele(int arr,int ele) else if (ele>arr[centerindex])else

centerindex=(minindex+maxindex)/2;//重複設定中間索引直至找到查詢元素

}return -1;//找不到則返回-1}}

二分查詢與遞迴式二分查詢

二分查詢 public class binarysearch arrays.sort arr todo auto generated method stub int low 0 int high arr.length 1 while low high elseelse 遞迴實現二分查詢 public...

順序查詢與二分查詢

先上 include void printarr int a,int n void bublesort int a,int n void swap int a,int b int binarysearch int a,int n,int k int normalsearch int a,int n,...

基本查詢演算法 二分查詢 總結

二分查詢是一種非常簡單易懂的快速查詢演算法,時間複雜度為o logn 這是相當快的了。利用二分思想,即便猜乙個 0 到 999 的數字,最多也只要 10 次就能猜中。基本形式 在有序不重複元素中尋找指定值的位置,不存在返回 1 intbsearch vector int nums,int val e...