DS雜湊查詢 線性探測再雜湊

2021-10-12 13:27:08 字數 1269 閱讀 5131

題目

問題 a: ds雜湊查詢—線性探測再雜湊

時間限制:

1 sec 記憶體限制:

128 mb

提交:454 解決:

303[提交]

[狀態]

[討論版]

題目描述

定義雜湊函式為h

(key)

= key%

11,輸入表長(大於、等於11)。輸入關鍵字集合,用線性探測再雜湊構建雜湊表,並查詢給定關鍵字。

--程式要求--

若使用c++只能include乙個標頭檔案iostream;若使用c語言只能include乙個標頭檔案stdio

程式中若include多過乙個標頭檔案,不看**,作0分處理

不允許使用第三方物件或函式實現本題的要求

輸入 測試次數t

每組測試資料為:

雜湊表長m、關鍵字個數n

n個關鍵字

查詢次數k

k個待查關鍵字

輸出對每組測試資料,輸出以下資訊:

構造的雜湊表資訊,陣列中沒有關鍵字的位置輸出null

對k個待查關鍵字,分別輸出:0或1(0—不成功,1—成功)、比較次數、查詢成功的位置(從1開始)

樣例輸入112

1022

192189

3033415

1442256

3017

樣例輸出

2230

3314415

null

null198

21911

1061

6201

**塊
#include

using

namespace std;

intmain

(void

) temp =

(temp+1)

%m;}

}for

(i=0

; i)else

}int k;

cin>>k;

for(i=

0; i)elseif(

!s[temp]

)else

temp =

(temp+1)

%m;}

if(j!=m && s[temp]

)elseif(

!s[temp]

) cout<1

cout<<

"0 "

<}

線性探測可再雜湊的雜湊

資料結構與演算法分析 c語言描述 第五章 分離鏈結雜湊表 從書上的 小改一下。插入的時候自動選擇是否再雜湊,所以insert要返回乙個hashtable。還有增加是否查抄成功。雖然可以通過返回 1來返回查詢失敗 hashquad.h typedef char elementtype ifndef h...

雜湊 線性探測法

time limit 1 secs,memory limit 256 mb 使用線性探測 法 linear probin g 可以解決雜湊中的衝突問題,其基本思想是 設雜湊函式為 h key d,並且假定雜湊的儲存結構是迴圈陣列 則當衝突發生時 繼續探測 d 1,d 2 直到衝突得到解決 例如,現有...

POJ 1186 hash 線性探測再雜湊

一直以來我都覺得線性探測再雜湊這個方法一定很低效 結果碰到今天這題之後我驚奇的發現 鍊錶居然被線性探測再雜湊秒殺了 這個hash方法是將大數取模,放到乙個位置上,如果這個位置被占用了,就往後移1格,再被佔再移動知道能 放到某個位置上。詳細見資料結構書 真是太神奇了 懶得寫dfs 直接for的 所以 ...