日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3.1词典搜索的数据结构与通配符查询

發布時間:2023/12/9 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3.1词典搜索的数据结构与通配符查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

提示:
詞典及容錯性檢索(詞典搜索的數據結構與通配符查詢)
本節最重要的內容是:

(1)詞典快速查找的數據結構 (2)非精確查詢 (3)自動校正技術

希望大家學到:

(1)了解詞典查找的數據結構 (2)理解通配符查詢的思想 (3)掌握編輯距離的計算 (4)理解自動校正技術的思路

>>***其他內容(拼寫校正)可轉***<<

文章目錄

  • 詞典搜索的數據結構
    • 常用數據結構
      • 哈希函數
      • 二叉樹
      • 字典樹
      • B樹
    • 通配符查詢
      • (1)輪排索引
      • (2)支持通配符查詢的k-gram索引


詞典搜索的數據結構

常用數據結構

哈希函數

二叉樹

字典樹

B樹

內部節點可以多于兩個
舉例:2-3 B樹只能有2-3個內部結點

點擊直達>>為什么平衡二叉樹不適合索引:
索引是存在于索引文件中,是存在于磁盤中的。因為索引通常是很大的,因此無法一次將全部索引加載到內存當中,因此每次只能從磁盤中讀取一個磁盤頁的數據到內存中。而這個磁盤的讀取的速度較內存中的讀取速度而言是差了好幾個級別。
注意,我們說的平衡二叉樹結構,指的是邏輯結構上的平衡二叉樹,其物理實現是數組。然后由于在邏輯結構上相近的節點在物理結構上可能會差很遠。因此,每次讀取的磁盤頁的數據中有許多是用不上的。因此,查找過程中要進行許多次的磁盤讀取操作。
而適合作為索引的結構應該是盡可能少的執行磁盤IO操作,因為執行磁盤IO操作非常的耗時。因此,平衡二叉樹并不適合作為索引結構。

通配符查詢


通配符查詢:

方式數據結構舉例
尾通配符查詢B樹mon*
首通配符查詢反向B樹*mon
一般通配符查詢B樹和反向B樹se*mon

查詢方法:

(1)輪排索引

在字符集中引入新的符號$,標識詞項開始和結束。
舉例:hello輪排索引部分




輪排索引特點:解決了通配符查詢問題,結構簡單,詞典會非常大

(2)支持通配符查詢的k-gram索引

k-gram代表由k個字符組成的序列。
舉例:在詞項castle中 cas、ast、tle都是3-gram。
?如果用$字符標識詞項開始和結束。那么該詞項所有的3-gram有:$ca,cas,ast,stl,tle,le$。



總結

以上是生活随笔為你收集整理的3.1词典搜索的数据结构与通配符查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。