資料表:資料元素的有限集合。
關鍵字:資料表中資料元素一般有多個屬性域(字段),即由多個資料成員組成,其中有某些屬性域可用來區分不同的元素,它們可作為查詢或排序的依據,這些屬性域即為關鍵字。
①即使是同乙個表,在解決不同問題的場合也可能取不同的域作關鍵字。
②如果在資料表中各個元素的關鍵字互不相同,這種關鍵字稱為主關鍵字。
查詢:查詢是資料處理中最常用的一種運算。最常見的一種方式是事先給定乙個值,在資料表中查詢其關鍵字等於給定值的資料元素。查詢的結果通常有兩種可能:
(1)查詢成功,即找到關鍵字等於給定值的資料元素,這時作為查詢結果,可報告該資料元素在資料表中的位置,還可進一步給出該資料元素的具體資訊,後者在資料庫技術中叫作檢索。
(2)查詢不成功(查詢失敗),即資料表中找不到其關鍵字等於給定值的資料元素,此時查詢的結果可給出乙個「空」記錄或「空」指標。
靜態查詢表和動態查詢表:資料表的組織有兩種不同方式。
(1)靜態查詢表,表中元素固定不變,當查詢失敗時,作為查詢結果只報告一些資訊,如失敗標誌、失敗位置等。
(2)動態查詢表,表中元素在插入或刪除資料元素過程中會得到調整,當查詢失敗時,則把給定值的資料元素插入資料表中。
(3)相比較而言,靜態查詢表的結構較為簡單,操作較為方便,但查詢表的內容相對固定,不易擴充套件。
查詢的效率:查詢的時間複雜度一般用平均查詢長度(asl)來衡量。
平均查詢長度是指在資料表中查詢各資料元素所需進行的關鍵字比較次數的期望值,其數學定義為:asl=σ(i=1到n) pi ×ci
其中,pi表示第i個資料元素被查詢的概率,ci表示查詢第i個資料元素所需進行關鍵字的比較次數。
裝載因子:它代表了資料表中資料元素的裝載情況。設資料表的長度為m,表中資料元素個數為n,則資料表的裝載因子α=n/m。
8.2.1 順序表的查詢
8.2.2 有序表的折半查詢(迭代/遞迴/二叉查詢樹)
8.3.1 索引順序表(完全索引/二級索引)
8.3.2 倒排表(鏈式/單元式)
8.6.1 動態的m路查詢樹
8.6.2 b-樹
8.6.3 b+樹
8.7.1 雜湊表的基本概念
8.7.2 雜湊函式(直接定址法、數字分析法、除留餘數法、乘餘取整法、平方取中法、隨機數法)
8.7.3 處理衝突的閉雜湊方法——開位址方法(線性探測法、二次探測法、雙雜湊法)
8.7.4 閉雜湊方法的實現
8.7.5 處理衝突的開雜湊方法——鏈位址法
8.7.6 雜湊表分析
100以內的質數共有25個.2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97.
第八章 指標 第八章 指標
1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...
考研複試 資料結構第八章
1 對各種內部排序的概括與總結?排序 是指把乙個任一元素的序列排列成乙個按關鍵字key有序的序列。內部排序包括 插入排序 選擇排序 交換排序 歸併飄絮 基數排序。其中插入排序包括 直接插入排序 折半插入排序 希爾排序 選擇排序包括 簡單選擇排序,堆排序 交換排序包括 氣泡排序 快速排序。1 直接插入...
資料結構第八章學習小結
第八章主要學習排序,引入了之前未涉及的穩定性。思維導圖如下 第八章主要涉及了內部排序方法,下圖是對內部排序方法的比較 有些方法只限定於有序或順序儲存等,因此使用時綜合考慮以下因素 1 待排序的記錄個數 2 記錄本身的大小 3 關鍵字的結構和初始狀態 4 對排序穩定性的要求 5 儲存結構 二 作業 選...