參考:
首先無論是靜態查詢還是動態查詢,都要有查詢的物件,也就是包含很多同型別資料的「表」,這個「表」可以理解為乙個由同型別資料元素組成的乙個「集合」,該集合可以用各種容器來儲存,例如陣列、鍊錶、樹等,我們統稱這些儲存資料的資料結構為——查詢表。可見,查詢表有時是我們傳統意義的表,有時候是很複雜的一種結構。
靜態查詢就是我們平時概念中的查詢,是「真正的查詢」。之所以說靜態查詢是真正的查詢,因為在靜態查詢過程中僅僅是執行「查詢」的操作,即:
(1)檢視某特定的關鍵字是否在表中(判斷性查詢);
(2)檢索某特定關鍵字資料元素的各種屬性(檢索性查詢)。
這兩種操作都只是獲取已經存在的乙個表中的資料資訊,不對錶的資料元素和結構進行任何改變,這就是所謂的靜態查詢。
靜態查詢包括:
順序查詢
折半查詢
fibonacci
分塊查詢
詳細可以參考:
看到上面靜態查詢的概念,動態查詢就很好理解了,個人總覺得動態查詢不像是「查詢」,更像是乙個對錶進行「建立、擴充、修改、刪除」的過程。動態查詢的過程中對錶的操作會多兩個動作:
(1)首先也有乙個「判斷性查詢」的過程,如果某特定的關鍵字在表中不存在,則按照一定的規則將其插入表中;
(2)如果已經存在,則可以對其執行刪除操作。動態查詢的過程雖然只是多了「插入」和「刪除」的操作,但是在對具體的表執行這兩種操作時,往往並不是那麼簡單。
動態查詢包括:
1. 二叉排序樹
2. 平衡二叉樹
詳細參考:
靜態查詢(順序查詢和折半查詢)
聽說過一句話,程式設計之久,除了資料結構和演算法什麼也不屬於我們。為了更好的學習資料結構和演算法,今天決定先把清華大學出版的資料結構 c語言版 書中的演算法實現一遍。現在開始第一彈。貴在堅持。順序查詢 演算法描述 include include 順序表的查詢 define eq a,b a b de...
靜態查詢 順序查詢和折半查詢法
一 靜態查詢 只是起查詢或檢索的作用,不涉及插入 刪除,反之為動態查詢。二 順序查詢 順序查詢過程中往往設定監視哨,在查詢過程中不用每一步都檢查整個表是否查詢完畢。假設,每個元素的查詢概率相同,順序查詢成功時平均查詢長度為 n 1 2 順序查詢不成功時平均查詢長度為 n 1 4 考慮到查詢不成功的情...
查詢 靜態查詢 順序查詢
查詢表 1 查詢某個 特定的 資料元素是否在查詢表中 2 檢索某個 特定的 資料元素的各種屬性 3 在查詢表中插入乙個資料元素 4 從查詢表中刪去某個資料元素 靜態查詢 1 2 動態查詢 1 2 3 4 順序查詢 儲存結構和查詢操作 與 順序表基本相同 o n include include usi...