二分查詢(陣列裡查詢某個元素)

2021-08-30 19:43:43 字數 696 閱讀 3944

二分查詢(折半查詢) 陣列元素有序 陣列的元素必須有順序,從小到大或者從大到小。

1、定義乙個有序的陣列

<?php

$max = 10000; // 陣列最大值

$number = 1; // 陣列開始值

$arr = ; // 陣列

while ( $number <= $max )

?>

// 1、二分查詢

// $arr 陣列 $low陣列key最小值 $high 陣列key最大 ,搜尋 $k 值 。 $low - $high 搜尋的範圍

// 例如 0 - 5 在陣列 第乙個元素到第六個元素 之間 搜尋 $k

function bin_sch($arr,$low,$high,$k)

if( $k < $arr[$mid])

if($k > $arr[$mid])

}return '';

}// 2、二分查詢

function bin_sch2($arr,$value)

// 搜尋值 小於 之間值

if($value < $arr[$mid])

// 防止死迴圈

if($mid >= $max || $mid <= 0)

}return $arr[$mid];

}

陣列 二分查詢

package a array.a twopointssearch 二分查詢,增刪。優點 查詢速度比無序陣列快 缺點 刪除慢,因為資料項必須向前移動來填補已刪除資料項的洞 增加慢,需要移動大於增加數所對用索引後面的所有值 author administrator author administrat...

陣列元素的查詢 二分法查詢

1 2 二分法查詢演算法是基於排序的基礎之上 類庫中好像有 3 利用二分法對陣列元素程序查詢111 下標為0 222,333,444,555,666,777,888 4 查詢原理 5 找666這個元素的下標,此元素下標是5.6 陣列元素的下標為0 7 7 通過二分法查詢 0 7 2 中間元素下標 3...

二維陣列裡面的數進行二分查詢

對乙個row colunms 的二維陣列進行二分查詢 其中對乙個row colunms 的二維陣列進行二分查詢其中每行每列的數滿足從左到右從上到下逐漸變大 資料 override public void run public class searchnumber 二維陣列賦值 int right n...