在日常生活中,幾乎每天都要進行一些查詢的工作,在**簿中查閱某個人的**號碼;在電腦的資料夾中查詢某個具體的檔案等等。本節主要介紹用於查詢操作的資料結構——查詢表。
查詢表是由同一型別的資料元素構成的集合。例如**號碼簿和字典都可以看作是一張查詢表。
一般對於查詢表有以下幾種操作:
在查詢表中只做查詢操作,而不改動表中資料元素,稱此類查詢表為靜態查詢表;反之,在查詢表中做查詢操作的同時進行插入資料或者刪除資料的操作,稱此類表為動態查詢表。
在查詢表查詢某個特定元素時,前提是需要知道這個元素的一些屬性。例如,每個人上學的時候都會有自己唯一的學號,因為你的姓名、年齡都有可能和其他人是重複的,唯獨學號不會重複。而學生具有的這些屬性(學號、姓名、年齡等)都可以稱為關鍵字。
關鍵字又細分為主關鍵字和次關鍵字。若某個關鍵字可以唯一地識別乙個資料元素時,稱這個關鍵字為主關鍵字,例如學生的學號就具有唯一性;反之,像學生姓名、年齡這類的關鍵字,由於不具有唯一性,稱為次關鍵字。
不同的查詢表,其使用的查詢方法是不同的。例如每個人都有屬於自己的朋友圈,都有自己的**簿,**簿中資料的排序方式是多種多樣的,有的是按照姓名的首字母進行排序,這種情況在查詢時,就可以根據被查詢元素的首字母進行順序查詢
;有的是按照類別(親朋好友)進行排序。在查詢時,就需要根據被查詢元素本身的類別關鍵字進行排序。
具體的查詢方法需要根據實際應用中具體情況而定。本章從靜態查詢表、動態查詢表和雜湊表
的角度具體分析針對不同的查詢錶可供選擇的查詢演算法。
資料結構48 資料結構之查詢演算法
在日常生活中,幾乎每天都要進行一些查詢的工作,在 簿中查閱某個人的 號碼 在電腦的資料夾中查詢某個具體的檔案等等。本節主要介紹用於查詢操作的資料結構 查詢表。查詢表是由同一型別的資料元素構成的集合。例如 號碼簿和字典都可以看作是一張查詢表。一般對於查詢表有以下幾種操作 在查詢表中只做查詢操作,而不改...
資料結構之對分查詢演算法
一 前提條件 對分查詢的前提是待查詢的資料必須是有序的 二 思想 對分查詢是一種效率很高的查詢方法,但被查詢的資料必須是有序 例如非遞減有序 的。對分查詢首先將查詢鍵與有序陣列內處於中間位置的元素進行比較,如果中間位置上的元素內的數值與查詢鍵不同,根據陣列元素的有序性,就可確定應該在陣列的前半部分還...
資料結構之查詢演算法總結
基礎知識 二分查詢演算法 有序表 順序儲存 複雜度o logn 一般用於強調有序陣列查詢時。雜湊表 o 1 時間根據關鍵字,得到所需的值。二叉搜尋樹 排序樹 根節點左邊值小於根結點,右邊值大於根結點。int binary search int data,int length,int key retu...