順序查詢(sequential search)又叫線性查詢,是最基本的查詢技術,它的查詢過程是:從表中第乙個(或者最後乙個)記錄開始,逐個進行記錄的關鍵字和給定值比較,若某個記錄的關鍵字和給定值相等,則查詢成功,找到所查的記錄;如果直到最後乙個(或者第乙個)記錄,其關鍵字和估計值比較都不等時,則表中沒有所查的記錄,查詢不成功。
具體**為:
<?php實現上述函式:header("content-type:text/html;charset=utf-8");/**
* 順序查詢操作操作
* *包括
* 1.初始化 __contruct()
* 2.普通順序查詢 search_none()
* 3.有哨兵順序查詢 search() */
class
sequential_search
}//普通順序查詢
public
function search_none($key
) }
return 0;
}//有哨兵順序查詢
public
function search($key
)
return
$i; //
返回0則說明查詢失敗}}
?>
<?php最後的實現結果為:header("content-type:text/html;charset=utf-8");
include "sequential_search.class.php";
$a = array("小","林","子","奮","鬥","的","點","滴");
$sequential_search = new sequential_search($a
);echo "初始化陣列:";
echo "
";print_r($sequential_search
);echo "
";echo "
";$key = $sequential_search->search_none("林");
echo "普通順序查詢「林」在陣列中的位置:";
echo "
";echo
$key
;echo "
";echo "
";$key = $sequential_search->search("林");
echo "此時陣列為:";
echo "
";print_r($sequential_search
);echo "
";echo "
";echo "有哨兵順序查詢「林」在陣列中的位置:";
echo "
";echo
$key
;?>
對於順序查詢演算法來說,查詢成功最好的情況就是在第乙個位置就找到了,演算法的時間複雜度為o(1),最壞的情況是在最後乙個位置才找到,需要n次比較,時間複雜度為o(n),當查詢不成功時,需要n+1次比較,時間複雜度為o(n)。關鍵字在任何位置的概率是相同的,所以平均查詢次數是(n+1)/2,所以最終的時間複雜度還是o(n)。
順序表查詢
一 查詢概論 1 查詢表 查詢表是由同一型別的資料元素或記錄構成的集合。2 關鍵字 關鍵字是資料元素中某個資料項的值,又稱為鍵值,用它可以標識乙個資料元素。也可以標識乙個記錄的某個資料項 字段 稱為關鍵碼。若此關鍵字可以唯一標識乙個記錄,則稱此關鍵字為主關鍵字,所以對於不同的記錄,其主關鍵字是不相同...
順序表查詢
順序查詢又叫線性查詢,是最基本的查詢技術,它的查詢過程是 從表中第乙個 或最後乙個 記錄開始逐個進行記錄的關鍵字和給定值比較,若某個記錄的關鍵字和給定值相等,則查詢成功 如果直到最後乙個 或第乙個 記錄,其關鍵字和給定值比較都不相等時,則表中沒有所查的記錄,查詢不成功。順序查詢的演算法如下 順序查詢...
順序表查詢
順序查詢 sequential search 又叫線性查詢,是最基本的查詢技術,它的查詢過程是 從表中第乙個 或最後乙個 記錄開始,逐個進行記錄的關鍵字和給定值比較,若某個記錄的關鍵字和給定值相等,則查詢成功,找到所查的記錄 如果直到最後乙個 或第乙個 記錄,其關鍵字和給定值比較都不等時,則表中沒有...