線性向量 二分查詢

2021-10-19 12:00:37 字數 1075 閱讀 9889

//範圍區間 [lo,hi)

//查詢 e

//返回 下標

//t 通用型別

function binarysearch

(t arr, t *e,

int lo,

int hi)

else

if(arr[mid]

<

*e)else

return mid;

}return-1

//沒找到

}

改版

//範圍區間 [lo,hi)

//查詢 e

//返回 下標

//t 通用型別

function binarysearch

(t arr, t *e,

int lo,

int hi)

return

(e == arr[lo]

)? lo :-1

;}

以上都只能實現查詢e不重複的陣列

改版:可重複排除

//範圍區間 [lo,hi)

//查詢 e

//返回 下標

//t 通用型別

function binarysearch

(t arr, t *e,

int lo,

int hi)

return

--lo;

}

//範圍區間 [lo,hi)

//查詢 e

//返回 下標

//t 通用型別

function binarysearch

(t arr, t *e,

int lo,

int hi)

else

if(arr[mid]

<

*e)else

return mid;

}}

時間複雜度:o(log2n)

空間複雜度:o(1)

線性查詢 二分查詢

在陣列中找出某個值a 線性查詢 二分查詢 線性查詢就是乙個個比較,找出那個值a。二分查詢是針對有序數列,找出中間值nid與a比較,mid a,從mid左邊小於mid的值中查詢,這樣依次縮小查詢空間,找到該值。線性查詢法 value 3 array 1,2,3,4,5,6,7 def ls ary,v...

c 線性查詢 二分查詢

今天蒟蒻來給大家講線性查詢 二分查詢 一 線性查詢思路 1.思路 線性查詢是一種在資料中查詢資料的演算法。線性查詢的操作十分簡單,只要在陣列中從頭開始依次往下查詢即可。如果找到了輸出即可,沒有找到就繼續搜下去。2.先來找10好了 第一步 從3開始找,3不等於10,換下乙個 第二步 到9,9不等於10...

線性查詢和二分查詢

從第乙個遍歷判斷到最後乙個,查詢到全部符合條件的值。遍歷陣列找到就返回下標值 如果有多個可先儲存 1.public class seqsearch 沒有順序的陣列 4.listsearch seqsearch arr,1 5.if search.size 0 else 10.11.12.privat...