查找的基本概念
文章目錄
- 1 查找的定義
- 2 數組和索引
1 查找的定義
查找: 又稱檢索或查詢,是指在查找表中找出滿足一定條件的結點或記錄對應的操作。
查找表: 在計算機中,是指被查找的數據對象是由同一類型的記錄構成的集合,如順序表,鏈表、二叉樹和哈希表等。
查找效率: 查找算法中的基本運算是通過記錄的關鍵字與給定值進行比較,所以查找的效率同常取決于比較所花的時間,而時間取決于比較的次數。通常以關鍵字與給定值進行比較的記錄個數的平均值來計算。
查找操作及分類:
操作:
分類:
- 若對查找表只進行(1) 或(2)兩種操作,則稱此類查找表為靜態查找表。
- 若在查找過程中同時插入查找表中存在的數據元素,或者從查找表中刪除已存在的某個數據元素,則稱此類查找表為動態查找表。
2 數組和索引
索引把線性表分成若干塊,每一塊中的元素存儲順序是任意的,但是塊與塊間必須按關鍵字大小按順序排列。即前一塊中的最大關鍵字值小于后一塊中的最小關鍵字值。
分塊以后,為了快速定義塊,還需要建立一個索引表,索引表中的一項對應于線性表中的一塊,索引項由鍵域和鏈域組成。鍵域存放相應關鍵字的鍵值,鏈域存放指向本塊第一個節點和最后一個節點的指針,索引表按關鍵字由小到大的順序排列!
數組是特殊的塊索引(一個塊一個元素):
哈希表是非常經典的塊索引!
分塊查找的算法分兩步進行,首先確定所查找的節點屬于哪一塊,即在索引表中查找其所在的塊,然后在塊內查找待查詢的數據。由于索引表是遞增有序的,可采用二分查找,而塊內元素是無序的,只能采用順序查找。(塊內元素較少,則不會對執行速度有太大的影響)
參考資料:
總結
- 上一篇: 笔记本装系统教程c模式怎么设置 笔记本c
- 下一篇: 穷举搜索