哈希表处理冲突的方法?
生活随笔
收集整理的這篇文章主要介紹了
哈希表处理冲突的方法?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
哈希表處理沖突的方法?
- 一、基本概念
- 二、處理沖突的方法
- (1) 鏈地址法
- (2) 開放定址法
- (3) 再散列法
- (4) 建立一個公共溢出區
一、基本概念
哈希表,也叫散列表,是根據關鍵字而直接進行訪問的數據結構。也就是說,它將關鍵字通過某種規則映射到數組中某個位置,以加快查找的速度。這個映射規則稱為哈希函數(散列函數),存放記錄的數組稱為哈希表。哈希表建立了關鍵字和存儲地址之間的一種直接映射關系。
二、處理沖突的方法
(1) 鏈地址法
鏈地址法是指把所有的沖突關鍵字存儲在一個線性鏈表中,這個鏈表由其散列地址唯一標識。
(2) 開放定址法
開放定址法是指可存放新表項的空閑地址,既向它的同義詞表項開放,又向它的非同義詞表項開放。其數學遞推公式為(Hi表示沖突發生后第i次探測的散列地址)
Hi = (H(key) + di) % m
式中,i = 1,2,…,k,m為散列表表長,di為增量序列。di通常有以下幾種取法:
當di = 1,2,…,m - 1時&
總結
以上是生活随笔為你收集整理的哈希表处理冲突的方法?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: const关键字的作用?
- 下一篇: 佛媛遭媒体批评 看似与世无争其实物欲横流