順序查詢和二分查詢用法

2021-08-17 19:29:22 字數 887 閱讀 3655

一、查詢的方法

順序查詢 、二分查詢

二、順序查詢:

對某個陣列,按照順序,乙個乙個比較,找到你要的資料。

三、順序查詢的案例:

<?php 

header('content-type:text/html;charset=utf8');

function seqsearch($arr,$num)  //定義乙個順序查詢的方法

}echo "查詢無結果";   //沒有查到返回「查詢無結果」

}$arr=[1,2,5,7,9,8,6,4]; //要查詢的陣列

$num=5;  //待查詢的數

echo seqsearch($arr,$num)."

";?>

四、二分查詢:

首先找到陣列中間這個數,然後與要查詢的數比較,如果要查詢的數大於中間這個數,則說明應該向後找,否則向前找,如果想等,則說明找到。

前提:該陣列必須是有序數列,如果該陣列無序,必須先排序後查詢

五、二分查詢的示例

<?php 

//這僅僅是二分查詢最為簡單的乙個實現

//定義乙個二分遞迴查詢方法

function binsearch($arr,$num,$low,$high)

else if ($arr[$mid] < $num)

else if ($arr[$mid] >$num)

}else

}$arr=[1,2,3,4,5,6,7,8,9];  //待查詢的陣列

$low=2;  //陣列的開始位置

$high=count($arr)-1;  //陣列的最大位置

$num=9;  //需要查詢的數字

echo binsearch($arr,$num,$low,$high);

順序查詢和二分查詢

二分查詢 陣列裡查詢某個元素 search函式 其中 array為陣列,k為要找的值,low為查詢範圍的最小鍵值,high為查詢範圍的最大鍵值 function search array,k,low 0,high 0 if low high 如果還存在剩餘的陣列元素 elseif k array m...

順序查詢和二分查詢

1 順序查詢 又稱線性查詢,是從陣列的第乙個元素開始查詢,直到找到待查詢元素的位置。順序查詢適合於儲存結構為順序儲存或鏈結儲存的線性表。使用for迴圈等實現。int find int a,int x return index 2 二分查詢 二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能...

順序查詢和二分查詢

問題 寫出兩種檢索演算法 在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 0.解析順序查詢 在乙個線性表中,按照從前往後或者從後往前的順序依次查詢,如果查詢到關鍵字和給定值相等,則返回給定值的位置,查詢成功 如果查詢值最後乙個元素仍未找到,則查詢失敗...