91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php哈希沖突怎么解決

發布時間:2021-05-06 10:51:42 來源:億速云 閱讀:197 作者:小新 欄目:編程語言

這篇文章主要介紹了php哈希沖突怎么解決,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

php有什么用

php是一個嵌套的縮寫名稱,是英文超級文本預處理語言,它的語法混合了C、Java、Perl以及php自創新的語法,主要用來做網站開發,許多小型網站都用php開發,因為php是開源的,從而使得php經久不衰。

本文操作系統:windows7系統、PHP5.6版本、DELL G3電腦。

1.哈希沖突概念

對應不同的關鍵字可能獲得相同的hash地址即 key1≠key2,但是f(key1)=f(key2)。這種現象就是沖突,而且這種沖突只能盡可能的減少,不能完全避免。因為哈希函數是從關鍵字集合和地址集合的映像,通常關鍵字集合比較大,而地址集合的元素僅為哈希表中的地址值。

2.沖突解決:鏈接法

鏈接法優點:

(1)拉鏈法處理沖突簡單,且無堆積現象,即非同義詞絕不會發生沖突,因此平均查找長度較短;

(2)由于拉鏈法中各鏈表上的節點是動態申請的,故它更適合造表前無法確定表長的情況;

鏈接法缺點:

指針需要額外的空間,故當結點規模較小時,開放定址法較為節省空間,而若將節省的指針空間擴大散列表的規模,可是裝載因子變小,這又減少了開放定址法中的沖突,從而提高平均查找速度。

3.解決實例

(1)使用Hash函數計算關鍵字的Hash值,通過Hash值定位到Hash表的指定位置。

(2) 如果此位置已經被其他節點占用,把新節點的$nextNode指向此節點,否則把新節點$nextNode設置為null。

(3)把新節點保存到Hash表的當前位置。

經過這三個步驟,相同的Hash值得節點會被連接到同一個鏈表。

查找算法相應的修改為如下格式:

Public functionfind($key){
                           $index = $this ->hashfunc($key);
                           $current =$this->buckets[$index];
                           while(isset($current)){//遍歷當前鏈表
                                  if($current->key== $key){  //比較當前節點的關鍵字
                                         return$current -> value;//查找成功
                                  }
                                  $current =$current ->nextNode;  //比較下一個節點
                           }
                           Return null;  //查找失敗
               }

感謝你能夠認真閱讀完這篇文章,希望小編分享的“php哈希沖突怎么解決”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

拜泉县| 璧山县| 三穗县| 六枝特区| 临沂市| 张家口市| 恭城| 莱西市| 潜山县| 宁南县| 赣州市| 岗巴县| 金平| 故城县| 营口市| 禹州市| 孟村| 昭苏县| 扶风县| 西乡县| 贡觉县| 自治县| 赫章县| 宣城市| 克东县| 美姑县| 乳山市| 邯郸县| 五华县| 岳西县| 台江县| 云和县| 亚东县| 瓦房店市| 东莞市| 科技| 孝昌县| 洱源县| 阿克| 镶黄旗| 武夷山市|