索引是把乙個關鍵字與它對應的記錄相關聯的過程。
索引由若干個索引項構成
每個索引項包括關鍵字和其對應記錄的位置。
索引技術是組織大型資料庫以及磁碟檔案的重要技術。
線性索引:
將索引項組織成線性結構
非線性索引:
將索引項組織成樹形結構或圖形結構
稠密索引的基本思想:
將資料記錄的(關鍵碼,位址)組織成索引表,並排序。
當需要通過某個關鍵字key的值進行查詢時可以利用二分查詢或者插值查詢等演算法對(關鍵碼,位址)表進行查詢。
通過查詢結果中的位址可以直接得到資料記錄。
稠密索引的特點:
不需要對資料記錄本身進行組織或者排序
每一條資料記錄對應索引表中的乙個索引項
稠密索引的缺陷:
當索引表不能完全放置於記憶體中時,查詢效率將大打折扣。
將資料集中的記錄分成若干塊:
•塊內無序:每一塊中的記錄可以是無序的。
•塊間有序:第n塊中所有記錄的關鍵字必須大於第n-1塊中任一記錄的關鍵字。
分塊索引的基本思想:
以(最大關鍵碼,塊長,塊指標)的方式組織索引表,並排序。
利用二分查詢或者插值查詢等在索引表中查詢關鍵字所在塊。
根據塊首指標找到對應的塊,並在塊中查詢資料記錄。
分塊索引的特點:
不需要為每個資料記錄分配乙個索引項。
塊中的資料記錄可以是雜亂的,只要能進行順序查詢即可。
塊間的資料記錄必須是有序的:
第n塊中所有記錄的關鍵字必須大於第n-1塊中任一記錄的關鍵字
倒排索引將非關鍵碼組織成(非關鍵碼,位址)索引表。
倒排索引的索引表結構類似稠密索引。
倒排索引與稠密索引的區別在於
• 倒排索引的每個索引項可以對應多個記錄
• 倒排索引的索引項不會縮著資料記錄的增加有明顯的增加
倒排索引可以應用在小型搜尋引擎中。
線性索引是線性表和排序演算法以及查詢演算法的乙個組合應用:
稠密索引,分塊索引和倒排索引是最基礎三種索引方法,有著各自的應用場合
Tensorflow 非線形回歸
import tensorflow as tf import numpy as np import matplotlib.pyplot as plt 使用numpy來生成兩百個隨機點,範圍在 0.5到0.5之間,均勻分布 np.newaxis 插入新的維度 x data np.linspace 0....
tensorflow實現線形回歸
回歸是基於已有的資料對新的資料進行 除了標準的線形回歸,還會有戴明回歸 lasso回歸 嶺回歸 彈性網路回歸 邏輯回歸等,具體的定義和差別會在下文實現中體現。1 首先準備資料 這裡採用sklearn的資料iris資料集 from sklearn import datasets import nump...
查詢 線性索引查詢
索引就是把乙個關鍵字與它對應的記錄相關聯的過程,乙個索引由若干個索引項構成,每個索引項至少應包含關鍵字和其對應的記錄在儲存器中的位置等資訊。索引技術是組織大型資料庫以及磁碟檔案的一種重要技術。索引按照結構可以分為線性索引 樹形索引和多級索引。這裡只 線性索引,即將索引項集合組織為線性結構,也稱為索引...