從記憶體中提取數值經常要比複雜的計算速度快很多,所以這樣得到的速度提公升是很顯著的。
舉個例子:乙個經典的例子就是三角表。每次計算所需的正弦值在一些應用中可能會慢得無法忍受,為了避免這種情況,程式可以在剛開始的一段時間計算一定數量的角度的正弦值,然後儲存在表中,當需要使用的時候直接從表中查詢而不是再重新計算。
另外需要注意的乙個問題是,儘管查詢表經常效率很高,但是如果所替換的計算相當簡單的話就會得不償失,這不僅僅因為從記憶體中提取結果需要更多的時間,而且因為它增大了所需的記憶體並且破壞了快取記憶體。如果查詢錶太大,那麼幾乎每次訪問查詢表都會導致快取記憶體缺失,這在處理器速度超過記憶體速度的時候愈發成為乙個問題。
查詢表:同一型別的資料元素(記錄)構成的集合。
靜態查詢表:對查詢表只進行查詢操作。動態查詢表:不僅進行查詢操作,而且在查詢過程中還伴隨著插入(查詢的資料元素不在表中時)、刪除某個資料元素的操作。
關鍵字(key):是資料元素(或記錄)的某個資料項的值,用它可標識(識別)乙個資料元素(或記錄)。
平均查詢長度(asl):需和給定值進行比較的關鍵字個數的期望。 as
l=∑i
=1np
ici
n:表中記錄個數 pi
:查詢第i個記錄的概率 ci
:找到第i個記錄需要進行的對比次數
查詢的基本概念
列表 由同一型別的資料元素組成的集合。關鍵碼 資料元素中的某個資料項,可以標識列表中的乙個或一組資料元素。鍵值 關鍵碼的值。主關鍵碼 可以唯一地標識乙個記錄的關鍵碼。次關鍵碼 不能唯一地標識乙個記錄的關鍵碼。查詢 在具有相同型別的記錄構成的集合中找出滿足給定條件的記錄。查詢的結果 若在查詢集合中找到...
基本概念 C 基本概念
由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...
查詢 基本概念與分類
查詢 在資料元素集合中查詢是否存在關鍵字等於某個給定關鍵字資料元素的過程。關鍵字有 查詢可分為 如果在某個資料元素集合中進行了動態查詢,則該資料元素集合可能會被改變。靜態查詢表 靜態查詢時構造的儲存結構。主要有三種靜態查詢表 動態查詢表 動態查詢時構造的儲存結構。主要有兩種動態查詢表 樹結構 雜湊表...