二分 折半 查詢

2021-10-03 21:06:39 字數 893 閱讀 4811

二分查詢:

請對乙個有序陣列進行二分查詢 ,輸入乙個數看看該陣列是否存在此數,並且求出下 標,如果沒有就提示"沒有這個數"。

二分查詢演算法的思路

/* 二分(折半)查詢條件:有序陣列。

* * */

public

class

binarysearch

;//不考慮有重複元素的查詢。

int index =

solutionsearch

(arr,

0,arr.length-1,

89);

system.out.

println

(index);}

private

static

intsolutionsearch

(int

arr,

int left,

int right,

int findvalue)

int midindex =

(left+right)/2

;//獲取中間值

int midvalue = arr[midindex];if

(findvalue == midvalue)

else

if(findvalue > midvalue)

else

if(findvalue < midvalue)

return-1;}}

二分 折半 查詢

折半查詢 又叫二分查詢,採用分治思想,適用於不經常變動且查詢頻繁的表 演算法思想 將n個元素 假設n個元素公升序 分為大致相同的兩部分,取data n 2 與目標元素m比較 若data n 2 m return n 2 若data n 2 m 則我們只要在data的左半部分繼續查詢 若data n ...

C 二分 折半 查詢

首先,假設表中元素是按公升序排列,將表 中間位置記錄的關鍵字 與 查詢關鍵字 進行比較,如果兩者相等,則查詢成功。否則,利用 中間位置的記錄 將表分成 前後 兩個子表 1 如果 查詢關鍵字 2 如果 查詢關鍵字 中間關鍵字 後子表查詢。重複以上過程,直到查詢成功。include include us...

二分(折半)查詢演算法

二分查詢又稱折半查詢,它是一種效率較高的查詢方法。折半查詢的演算法思想是將數列按有序化 遞增或遞減 排列,查詢過程中採用跳躍式方式查詢,即先以有序數列的中點位置為比較物件,如果要找的元素值小於該中點元素,則將待查序列縮小為左半部分,否則為右半部分。通過一次比較,將查詢區間縮小一半。折半查詢是一種高效...