資料結構 回顧雜湊表

2021-09-23 23:25:30 字數 1254 閱讀 5013

1.雜湊表(hash table)的實現成為雜湊(hashing),是一種以常數平均時間執行輸入、刪除和查詢的技術。但是那些需要元素間任何排序資訊的數操作將不會得到有效的支援。

2.雜湊函式示例

int hash(const string & key, int tablesize)

;int hash(const

string & key);

int hash(int key);

int myhash(const hashedobj & x) const

4.分離鏈結雜湊表的insert函式

bool insert(const hashedobj & x)

5.分離鏈結雜湊表演算法的缺點是使用了一些鍊錶,由於給新單元分配位址需要時間,因此這就導致演算法的速度有些減慢,同時演算法實際上還要求第二種資料結構的實現。因此探測雜湊表就應運而生。它又包含了3種探測方式。

線性探測

平方探測

雙雜湊

6.如果雜湊表已經不足以來存放你的資料,那麼可以考慮使用可擴雜湊(extendible hashing)。

7.對於分散鏈結雜湊法,雖然裝填因子不大時效能並不明顯降低,但裝填因子還是應該接近於1.對於探測雜湊,除非完全不可避免,否則裝填因子不應該超過0.5.如果用線性探測,那麼效能隨著裝填因子接近於1而急速下降。再擴散運算可以通過使表增長和收縮來保持合理的裝填因子。

資料結構 雜湊表

1.雜湊表的定義 元素的儲存位置和它的關鍵碼之間建立乙個確定的對應關係h,使得每個關鍵碼key和唯一的儲存位置h key 相對應。在查詢時,根據這個確定的對應關係找到給定值k的對映h k 若查詢集合中存在這個記錄,則必定在h k 的位置上,這種查詢技術稱為雜湊技術。採用雜湊技術將記錄儲存在一塊連續的...

資料結構 雜湊表

雜湊表的定義 雜湊表 hash table,也叫雜湊表 是根據關鍵碼值 key value 而直接進行訪問的資料結構。也就是說,它通過把 關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的 速度。這個對映函式叫做雜湊函式,存放 記錄的陣列叫做雜湊表。雜湊函式的析構方法 餘數法 取關鍵字被某個不大於雜...

資料結構 雜湊表

3 雜湊函式 數字分析法 根據關鍵碼在各個位上的分布情況,選取分布比較均勻的若干位組成雜湊位址。適用情況 能預先估計出全部關鍵碼的每一位上各種數字出現的頻度,不同的關鍵碼集合需要重新分析。4 雜湊函式 平方取中法 對關鍵碼平方後,按照雜湊表大小,取中間的若干位作為雜湊位址 平方後擷取 適用情況 實現...