二分查詢(一)

2021-09-24 10:56:40 字數 470 閱讀 3357

在演算法題目中,很重要的乙個就是邊界條件的設定,需要我們去明確,變數代表的含義,在迴圈的過程中一直保證此變數的含義不發生變化。含義不發生變化,而非變數值。

class binaryclass;

system.out.println(binarysearch2(arr,arr.length,4));

}public static int binarysearch2(int arr,int len ,int target)

}return -1;

}}

如果上面的right表示的是右邊界,但是右邊界不能獲取到,即在[left,right)中進行查詢,則相應的**修改如下

public static int binarysearch3(int arr,int len ,int target)

}return -1;

}

二分查詢(一)

二分查詢 1.首先找到列表中排在中間的元素,比較目標元素與該元素的大小,如果中間的元素等於目標元素,則返回true,否則返回false 2.如果目標元素比該元素大,則在中間元素與最後乙個元素之間重複步驟1 在中間元素右邊進行查詢目標元素 3.如果目標元素比該元素小,則在中間元素與第乙個元素之間重複步...

二分查詢(一)

非遞迴實現 public int bsearch int a,int n,int value else if a mid value else return 1 著重強調一下容易出錯的 3 個地方。1.迴圈退出條件 注意是 low high,而不是 low2.mid 的取值 實際上,mid low ...

迭代二分查詢二分查詢

在寫這篇文章之前,已經寫過了幾篇關於改迭代二分查詢主題的文章,想要了解的朋友可以去翻一下之前的文章 bentley在他的著作 writing correct programs 中寫道,90 的計算機專家不能在2小時內寫出完整確正的二分搜尋演算法。難怪有人說,二分查詢道理單簡,甚至小學生都能明確。不過...