国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

Java實現(xiàn)二分查找算法

算法原理給定一個n個元素有序的(升序)整型數(shù)組nums和一個目標值target,二分查找算法通過不斷將待查找區(qū)間縮小一半的方式來搜索nums中的target。如果目標值存在則返回下標,否則返回-1。

算法原理

給定一個n個元素有序的(升序)整型數(shù)組nums和一個目標值target,二分查找算法通過不斷將待查找區(qū)間縮小一半的方式來搜索nums中的target。如果目標值存在則返回下標,否則返回-1。

實現(xiàn)二分查找算法

二分查找算法是一種高效的搜索算法,其基本思想是每次取待查找區(qū)間的中間元素與目標值進行比較,然后根據(jù)比較結果確定繼續(xù)在左區(qū)間或右區(qū)間搜索,如此循環(huán)直至找到目標值或確定目標值不存在。

```java

public int binarySearch(int[] nums, int target) {

int left 0;

int right nums.length - 1;

while (left < right) {

int mid left (right - left) / 2;

if (nums[mid] target) {

return mid;

} else if (nums[mid] < target) {

left mid 1;

} else {

right mid - 1;

}

}

return -1;

}

```

編寫本地測試方法

為了驗證二分查找算法的正確性,我們可以編寫一個簡單的本地測試方法來對算法進行驗證。在測試方法中構造不同的有序整型數(shù)組和目標值,調用二分查找算法進行搜索,并輸出結果到控制臺。

```java

public void testBinarySearch() {

int[] nums {1, 3, 5, 7, 9};

int target 5;

int result binarySearch(nums, target);

("Target found at index: " result);

}

```

運行測試方法

運行測試方法,觀察控制臺輸出結果。如果輸出結果符合預期,即目標值的下標為2,則說明本地測試通過,二分查找算法實現(xiàn)正確。

平臺提交算法

經(jīng)過本地測試驗證算法的正確性后,可以將算法代碼提交到相應的平臺進行測試。確保算法在各種情況下都能正確工作并通過所有測試用例。

算法復雜度分析

二分查找算法的時間復雜度為O(logn),其中n為有序數(shù)組的長度。由于算法只需要常數(shù)級別的額外空間來存儲幾個變量,因此空間復雜度為O(1)。

通過以上步驟,我們詳細講解了Java如何實現(xiàn)二分查找算法,并介紹了如何進行本地測試、運行測試方法以及提交算法到平臺。同時,對算法的復雜度進行了分析,幫助讀者更好地理解和運用這一經(jīng)典的搜索算法。

標簽: