HASH方法課下補分部落格

2022-04-03 04:44:21 字數 855 閱讀 1323

課堂要求:利用除留餘數法為下列關鍵字集合的儲存設計hash函式,並畫出分別用開放定址法和拉鍊法解決衝突得到的空間儲存狀態(雜湊因子取0.75)關鍵字集合:85,75,57,60,65,(你的8位學號相加值),98,74,89,12,5,46,97,13,69,52,92。完成計算並提交計算過程。

相關開發位址法的資訊補充:

開放位址法的雙雜湊法,是另一種開放位址的取值方法,首先使用第乙個雜湊函式h1(key)及逆行那個雜湊,一旦發生衝突,則使用第二個函式h2(key)計算改項到達下乙個儲存位址的增量,其取值p和key有關,範圍在1和m之間,並且與m互質的正整數。

雙雜湊的取值自然需要兩個key值,可取d = h1(key);p = h2(key);則nd = (d+p)%m。

雜湊方法下的元素刪除問題:刪除的資料所在位置需做標記,對利用開放位址法查了衝突所產生的雜湊表中刪除乙個元素,不能簡單地直接刪除,因為這樣將截斷其它具有相同雜湊位址的元素的查詢位址,所以應設定乙個特殊的標誌以表明該元素已被刪除。

第二個方法是拉鍊法:

1.基本思想:拉鍊法解決衝突的做法是:將所有關鍵字為同義詞的結點鏈結在同乙個單鏈表中。若選定的雜湊表長度為m,則可將雜湊表定義為乙個由m個頭指標組成的指標陣列t[0..m-1]。凡是雜湊位址為i的結點,均插入到以t為頭指標的單鏈表中。t中各分量的初值均應為空指標。在拉鍊法中,裝填因子α可以大於1,但一般均取α≤1。

如果拉鍊法沒有出現堆積,則可以直接刪除。

具體到題目上,因為已經得到了雜湊位址和儲存空間,則拉鍊法的圖就比較容易得到了。

則:拉鍊法需要列出重複的量,且要按進入的順序列出。

20155222盧梓傑 課下測試04補做

a 同時多條指令引起異常 b 指令執行引起異常,後來由於分支 錯誤,取消了該指令 c 不同階段更新系統狀態的不同部分 d 與流水線無關的異常 正確答案 b 解析 在這個程式中,流水線會 選擇分支,因此他會取出並以乙個值為0xff的位元組作為指令。解碼階段會因此發現乙個非法指令異常。稍後,流水線會發現...

第十周課下作業(補做)

程式中經常會遇到需要對鍊錶按照某種大小關係排序,collection類提供的對於排序和查詢的類方法如下 public static sort listlist 將list中的元素按公升序排列 int binarysearch listlist,t key,comparetoc 使用折半查詢法查詢li...

hash,解決hash衝突的方法

數字分析法 平方取中法 除留餘數法 偽隨機數法 線性探測 二次探測 偽隨機數探測 拉鍊探測。如果負載因子是預設的0.75,hashmap 16 的時候,佔16個記憶體空間,實際上只用到了12個,超過12個就擴容。如果負載因子是1的話,hashmap 16 的時候,佔16個記憶體空間,實際上會填滿16...