整型關鍵字的平方探測法雜湊 25分

2021-10-10 22:36:14 字數 866 閱讀 9409

本題的任務很簡單:將給定的無重複正整數序列插入乙個雜湊表,輸出每個輸入的數字在表中的位置。所用的雜湊函式是 h(key)=key%tsize,其中 tsize 是雜湊表的表長。要求用平方探測法(只增不減,即h(key)+i​2​​ )解決衝突。

注意雜湊表的表長最好是個素數。如果輸入給定的表長不是素數,你必須將表長重新定義為大於給定表長的最小素數。

輸入格式:

首先第一行給出兩個正整數 msize(≤10​4​​ )和 n(≤msize),分別對應輸入的表長和輸入數字的個數。隨後第二行給出 n 個不重複的正整數,數字間以空格分隔。

輸出格式:

在一行中按照輸入的順序給出每個數字在雜湊表中的位置(下標從 0 開始)。如果某個數字無法插入,就在其位置上輸出-。輸出間以 1 個空格分隔,行首尾不得有多餘空格。

輸入樣例:

4410

6415

輸出樣例:

014

-

#include

using

namespace std;

int n, m, x, flag =0;

int v[

20005];

intisprime

(int x)

void

insert

(int x)

cout <<

"-";

}int

main()

return0;

}

7 11 整型關鍵字的雜湊對映 (25 分)

給定一系列整型關鍵字和素數p,用除留餘數法定義的雜湊函式將關鍵字對映到長度為p的雜湊表中。用線性探測法解決衝突。輸入格式 輸入第一行首先給出兩個正整數n 1000 和p n的最小素數 分別為待插入的關鍵字總數 以及雜湊表的長度。第二行給出n個整型關鍵字。數字間以空格分隔。輸出格式 在一行內輸出每個整...

7 42 整型關鍵字的雜湊對映 25分

給定一系列整型關鍵字和素數p,用除留餘數法定義的雜湊函式將關鍵字對映到長度為p的雜湊表中。用線性探測法解決衝突。輸入格式 輸入第一行首先給出兩個正整數n 1000 和p n的最小素數 分別為待插入的關鍵字總數 以及雜湊表的長度。第二行給出n個整型關鍵字。數字間以空格分隔。輸出格式 在一行內輸出每個整...

7 42 整型關鍵字的雜湊對映 25 分

給定一系列整型關鍵字和素數p,用除留餘數法定義的雜湊函式h key key p將關鍵字對映到長度為p的雜湊表中。用線性探測法解決衝突。輸入格式 輸入第一行首先給出兩個正整數n 1000 和p n的最小素數 分別為待插入的關鍵字總數 以及雜湊表的長度。第二行給出n個整型關鍵字。數字間以空格分隔。輸出格...