索引技術是通過有結構、無結構的資料以一定規則儲存在相應介質上,並同時提供一種訪問方式的技術。從定義中可以看出,索引技術的核心是關於如何儲存與訪問資訊,當在實際問題中面臨選擇何種索引技術或工具時,首先需要了解資料量的大小、資料的格式,是即時訪問還是批量查詢等等,有時還需要結合儲存介質,比如是否使用快取或中間快取檔案。
本文給出的分類參照文獻[1],並補充了自己的理解,分類層次結構如圖所示。人工智慧方法與非人工智慧方法的區別在於演算法是否對資料的語義建模,人工智慧方法通過找出資料之間的語義相似性或語義邏輯關係,可通過語義推理進行查詢。(其實,這種分類個人覺得是不合適的,雖然一部分雜湊演算法不考慮資料的語義關係,但是現在也有一些雜湊方法和向量量化演算法在通過dnn提取語義特徵後,也可以進行語義推理了)。
排序演算法概覽
以此類推,使最大的數沉底,再從頭開始比較,最終完成排序 def bubble sort li for i in range len li 1 for j in range len li i 1 if li j li j 1 li j li j 1 li j 1 li j 時間複雜度為o n 2 如果...
第九章 索引 概覽
索引可以幫助我們提高查詢速度。沒有索引的話,mongodb會執行全表掃瞄,找到查詢條件匹配的記錄。如果查詢中使用到了索引,mongodb可以過濾掉一部分記錄,從而提高查詢速度。索引是一種特殊的資料結構 b tree 它儲存collection的一小部分資訊,使得遍歷更快。索引儲存了字段的值,而且根據...
《演算法導論》筆記 動態規劃概覽
什麼問題適合使用動態規劃來解決?如果乙個問題具有以下兩個特徵,那麼就可能適合用動態規劃來解決 如果乙個問題的最優解包含著該問題的子問題的最優解,那麼這個問題就具有最優子結構。擁有最優子結構特徵的問題,就有可能用動態規劃來解決 當然,也有可能用貪婪演算法 在遞迴式中,乙個問題的子問題,以及子子問題的解...