散列檔案

散列檔案是利用散列存儲方式組織的檔案,亦稱直接存取檔案。即根據檔案中關鍵字的特點,設計一個散列函式和處理衝突的方法,將記錄散列到存儲設備上。

基本介紹

  • 中文名:散列檔案
  • 含義:利用散列存儲方式組織的檔案
  • 亦稱:直接存取檔案
  • 類似於散列表
基本概念,散列檔案的定義,散列檔案的查找,散列檔案的刪除,檔案優缺點,

基本概念

散列檔案的定義

散列檔案類似於散列表,但與散列表不同的是,對於檔案來說,磁碟上的檔案記錄通常是成組存放的,若干個記錄組成一個存儲單位,在散列檔案中,這個存儲單位叫做桶(Bucket)。假如一個桶能存放m個記錄,則當桶中已有m個同義詞的記錄時,存放第m+1個同義詞會發生"溢出"。需要將第m+1個同義詞存放到另一個桶中,通常稱此桶為"溢出桶"。相對地,稱前m個同義詞存放的桶為"基桶"。處理溢出雖可採用散列表中處理衝突的各種方法,但對散列檔案而言,主要採用拉鏈法。

散列檔案的查找

在散列檔案中進行查找時,首先根據給定值求出散列桶地址,將基桶的記錄讀入記憶體,進行順序查找,若找到關鍵字等於給定值的記錄,則檢索成功;否則,讀入溢出桶的記錄繼續進行查找。

散列檔案的刪除

在散列檔案中刪去一個記錄,僅需對被刪除記錄標記即可。

檔案優缺點

散列檔案的優點是:檔案隨機存放,記錄不需進行排序;插入、刪除方便;存取速度快;不需要索引區,節省存儲空間
其缺點是:不能進行順序存取,只能按關鍵字隨機存取,且詢問方式限於簡單詢問,並且在經過多次插入、刪除後,也可能造成檔案結構不合理,需要重新組織檔案。

相關詞條

熱門詞條

聯絡我們