財神娛樂首存即享優惠回饋唷~詳情請進👉

算法圖解之二吃角子老虎機分查找

簡略查找,以下圖:

?

從圖可知阿誰眼鏡男從1最先猜,猜到100,人人都曉得這類猜法終極都邑失去謎底,便是時間成績罷捕魚達人千砲版了。100畢竟是這個列表的最大長度。然則換言之,若是是一萬、百萬、上千億呢?那末這類猜法固然可以或許失去謎底,然則時間方面的本錢將會特別很是大。因而二分法應需而生。

二分法,以下圖:

從圖可知此次眼鏡男學聰慧了,從中間入手一分為二。以100為例猜巨細,假設要猜的數字為65,這時候眼鏡男說50,因而蜜斯姐說小了,眼鏡男再猜70,蜜斯姐說大了,這時候眼鏡男可以一定的規模應當在51~69這個規模內,相比簡略查找,這類方式效率要高的多。終極眼鏡男一定會猜到精確的數字,消費的時間與簡略查找相比,消費時間一定是很少的。

二分法也有其局限性,局限性便是必需要確保列表是有序的才行。

以代碼來講授:
簡略查找,以數組為例,索引從0最先

        @Test
        public void testSelect() throws Exception {
           線上麻將推薦 
            int [] num = new int[] {1,2,1)公眾>3,1)"大眾>4,1)"大眾>5,1)公眾>6};
            for (int i = 0; i < num.length; i++) {
真錢麻將app                System.out.println(num[i]);
            }
            
            
        }

二分法,例子以下:

@Test
        int[] num = 7,1)"大眾>9,1)"大眾>11};
            
            int start = 0;
            
            int end = num.length - 1;
            14while(true) {
                int mid = (start+end) / 2;
                
                if(i == num[mid]) {
                    System.out.println("大眾index:"大眾+mid);
                    break;
                }else {
                    if(i < num[mid]) {
                        end = mid - ;
                    } {
                        start = mid + ;
                    }
                }
                
               電競下注 if(start > end) {
                    System.no find,will insert in:start);
                    ;
                }
            }
            
            
        }

?

【免責聲明】本站內容轉載自互聯網,其相關談吐僅代表作者小我私家概念盡非權勢巨子,不代表本站態度。如您發明內容存在版權成績,請提交相關鏈接至郵箱:,咱們將實時予以處置。

九牛娛樂