資料結構 第九章 查詢

2021-10-01 22:05:49 字數 2604 閱讀 7557

查詢表:由同一型別的資料元素(或記錄)構成的集合。對查詢表進行的操作:查詢 檢索 增加 刪除

靜態查詢表:對查詢表進行 查詢

檢索動態查詢表:對查詢表進行 查詢

檢索增加

刪除關鍵字:資料中某個資料項的值,用以標識乙個資料元素

主關鍵字:資料項的唯一標識

次關鍵字:用以標識若干資料項

查詢是否成功:查詢表 中是否存在

平均查詢長度(asl)(查詢成功時):為確定記錄在查詢表中的位置,需要和給定值進行比較的記錄的個數的期望值稱為演算法在查詢成功時的平均查詢長度。 衡量查詢演算法好壞的依據。

資料元素型別定義

typedef

struct

selemtype;

順序查詢:任意順序分塊查詢:基本有序折半查詢:有序靜態查詢表的順序儲存結構

typedef

struct

順序查詢

從表中第乙個記錄開始,逐個進行記錄的關鍵字和給定值的比較

demo

int search_seq (sstable st,keytype key)

效率分析

順序查詢的平均查詢長度:

pi = 1/n(每個記錄的查詢概率相等的時候)

折半查詢

demo

int

search_bin

(sstable st,keytype key)

return0;

//順序表中不存在待查元素

}//search_bin

判定樹(由中間結點組成)

效率分析

索引查詢(分塊查詢)條件

在塊內是是順查詢

二叉排序樹概念

demo

bitree searchbst

(bitree t,keytype key)

//searchbst

二叉排序樹的插入

二叉排序樹的刪除

*p既有左子樹又有右子樹

平衡二叉樹(據說不考,最好看看)

含有 n 個結點的二叉排序樹的平均查詢長度和樹的形態有關(最好的是二叉平衡樹)

b-樹

b+樹

記錄的關鍵與記錄在表中的儲存位置之間存在一種對應(函式)關係。若記錄的關鍵字為key,記錄在表中的位置(雜湊位址)為f(key),則稱此函式f(x)為雜湊函式雜湊函式

4. 處理衝突的方法

-1. 開放定址法

再雜湊法

溢位區法

鏈位址法

雜湊表的飽和程度——

雜湊表的asl是處理衝突的方法裝載因子的函式

雜湊函式的兩個條件:衝突較小,構造簡單

不存在特別好與壞的雜湊函式,要視情況而定

用鏈位址法解決衝突時,可以直接刪除元素;用開放位址法或其他位址法解決衝突,在刪除時,不能真正刪除,否則將截斷其後續同義詞記錄的查詢路徑,只能對被刪除記錄做標記

採用鏈位址法解決衝突時,若插入規定總是在鏈首,則插入任乙個元素的時間都是相同的

再雜湊法不易產生聚集

鏈位址中雜湊值相同的元素在乙個鍊錶中,而在鍊錶中查詢元素的時間是不相同的,顯然鏈首元素查詢要比鏈尾的快

雜湊函式有乙個共同的性質,即函式值應當以同等概率取其域的每個值

關於b-樹

資料結構第九章查詢

順序查詢 順序查詢是的最後乙個開始查詢逐個比較 等概率大的情況下平均查詢長度為asl n 1 2 折半查詢 在乙個有11個元素的表中進行折半查詢找到第6個元素需要比較一次 第3 9需要比較2次 折半查詢只限於有序表且限於順序儲存結構 平均查詢長度asl log2 n 1 1 索引順序表 將長度為n的...

第九章 資料查詢(二)

9.4 連線查詢 9.4.1 內連線查詢 最常見的是相等連線,最後的結果集只包含參加連線的表中與指定字段相符的行。select name,books from tb login,tb book where tb login.user tb book.user 9.4.2 外連線查詢 1.左外連線 t...

第九章 資料安全

資料安全概述 資料庫安全 1 資料庫系統執行安全,包括其所在的主機系統安全 2 資料資訊保安,即資料安全 資料安全 指資料的完整性 可用性 保密性和可靠性 資料安全依賴於資料庫管理系統所採用的安全策略 安全模型和安全機制 資料安全所面臨的威脅 1 授權人員的非故意錯誤行為 2 社交工程 3 內部人員...