欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    在常見的業務邏輯中,查找的功能是必不可少,最基本的查找就是順序查找,按照順序索引,從大到小開始依次尋找,找到則返回true,沒找到則返回false,如果需要尋找的元素它的索引在最后,那就必須遍歷-1次,才能找到目標元素,所以這個時候,如果想要簡化算法,那么二分查找是個不錯的選擇,他可以至少減少一半的時間復雜度,關于二分查找有以下幾種性質。

    對于沒有排序的原數據,我們也可以通過提前排序,再送入二分查找算法,當然也可以使用其他更為快捷的算法以達到簡化算法的目的!

    Java實現的完整代碼如下:

    import java.util.Scanner;
    public class Binarysearch {
        public static void main(String[] args) {
            int []arg = new int[]{1,3,5,7,9,34,36,38,45,67};
            Scanner sc = new Scanner(System.in);
            System.out.println("請輸入你需要查找的數字");
            int findNum = sc.nextInt();
            boolean flag = Find(arg,findNum);
            if (flag){
                System.out.println("找到啦");
            }
            else
                System.out.println("沒有噢");
        }
        private static boolean Find(int[] arg,int findNum) {
            int min = 0,max = arg.length-1;
            int middle = (min+max)/2;
            while (arg[middle] != findNum){
                if(arg[middle]>findNum){
                    max = middle - 1;
                    middle = (max + min)/2;
                } else if (arg[middle] max) {
                    return false;//如果min大于max了,那就說明超過查找范圍了,也就意味著找不到了
                }
            }
            System.out.println("它的索引是"+middle);//此處可以輸出目標元素的索引
            return true;//能夠退出循環那就說明一定是找到啦
        }
    }
    

    實現效果圖如下:

    附加:

    1.插值查找

    如果數據分布較均勻,可以使用插值查找改進二分查找,提高效率

    其實具體操作就是改變mid的計算過程,大致的根據目標值給他劃定他在所有值當中大致處于哪個位置,這樣算出來的mid就會更接近目標值excel一組數字順序換,甚至直接就是目標值,大大降低時間復雜度,但是規定查找的數列中的數值為均勻變化。

    2.斐波那契查找

    利用此方法也可以從某種程度上提高二分查找的效率。

    具體操作也是改變mid的計算方式excel一組數字順序換,讓mid指向更為精準。

    “黃金比例為”:1:0.618

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有