**
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...