資料結構48 資料結構之查詢演算法

2022-07-07 19:00:15 字數 723 閱讀 5209

在日常生活中,幾乎每天都要進行一些查詢的工作,在**簿中查閱某個人的**號碼;在電腦的資料夾中查詢某個具體的檔案等等。本節主要介紹用於查詢操作的資料結構——查詢表。

查詢表是由同一型別的資料元素構成的集合。例如**號碼簿和字典都可以看作是一張查詢表。

一般對於查詢表有以下幾種操作:在查詢表中只做查詢操作,而不改動表中資料元素,稱此類查詢表為靜態查詢表;反之,在查詢表中做查詢操作的同時進行插入資料或者刪除資料的操作,稱此類表為動態查詢表。在查詢表查詢某個特定元素時,前提是需要知道這個元素的一些屬性。例如,每個人上學的時候都會有自己唯一的學號,因為你的姓名、年齡都有可能和其他人是重複的,唯獨學號不會重複。而學生具有的這些屬性(學號、姓名、年齡等)都可以稱為關鍵字。

關鍵字又細分為主關鍵字和次關鍵字。若某個關鍵字可以唯一地識別乙個資料元素時,稱這個關鍵字為主關鍵字,例如學生的學號就具有唯一性;反之,像學生姓名、年齡這類的關鍵字,由於不具有唯一性,稱為次關鍵字。不同的查詢表,其使用的查詢方法是不同的。例如每個人都有屬於自己的朋友圈,都有自己的**簿,**簿中資料的排序方式是多種多樣的,有的是按照姓名的首字母進行排序,這種情況在查詢時,就可以根據被查詢元素的首字母進行順序查詢;有的是按照類別(親朋好友)進行排序。在查詢時,就需要根據被查詢元素本身的類別關鍵字進行排序。

具體的查詢方法需要根據實際應用中具體情況而定。

本章從靜態查詢表、動態查詢表和雜湊表的角度具體分析針對不同的查詢錶可供選擇的查詢演算法。

資料結構之查詢演算法

在日常生活中,幾乎每天都要進行一些查詢的工作,在 簿中查閱某個人的 號碼 在電腦的資料夾中查詢某個具體的檔案等等。本節主要介紹用於查詢操作的資料結構 查詢表。查詢表是由同一型別的資料元素構成的集合。例如 號碼簿和字典都可以看作是一張查詢表。一般對於查詢表有以下幾種操作 在查詢表中只做查詢操作,而不改...

資料結構 資料結構演算法

分治法 對於乙個規模為n的問題,若該問題可以容易地解決 比如說規模n較小 則直接解決 否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。動態規劃法 這種演算法也用到了分治思想,它的做法是將問題例項分解為更小的 相似的子...

資料結構查詢演算法

又叫線性查詢,是一種基本的查詢演算法。查詢過程 從表中第乙個 或最後乙個 記錄開始,逐個進行記錄的關鍵字和給定值比較,若某個記錄的關鍵字和給定值相等,則查詢成功,如果查詢到表中最後乙個元素,還沒有找到,則查詢不成功。public intsearch int array int key return ...