acwingHASH開放定址法

2021-10-23 15:45:16 字數 848 閱讀 1065

維護乙個集合,支援如下幾種操作:

「i x」,插入乙個數x;

「q x」,詢問數x是否在集合**現過;

現在要進行n次操作,對於每個詢問操作輸出對應的結果。

輸入格式

第一行包含整數n,表示運算元量。

接下來n行,每行包含乙個操作指令,操作指令為」i x」,」q x」中的一種。

輸出格式

對於每個詢問指令「q x」,輸出乙個詢問結果,如果x在集合**現過,則輸出「yes」,否則輸出「no」。

每個結果佔一行。

資料範圍

1≤n≤105

−109≤x≤109

輸入樣例:

5i 1

i 2i 3

q 2q 5

輸出樣例:

yesno

題目大意:

輸入乙個n表示有n個操作,一共可以進行兩種操作:

i x 將x插入到集合中

q x 詢問x是否在集合中,輸出yes or no

解題思路:

//hash 開放定址法 要到題目資料的二倍or three

#include

#include

using namespace std;

const

int n=

200003

,null=

0x3f3f3f3f

;int h[n]

;int

find

(int x)

//插入和查詢

}return k;

}int

main()

}return0;

}

演算法 開放定址法

package com.eshore.sweetop.dataframe import com.eshore.sweetop.data.keydata 開放定址法解決碰撞問題 public class openhash public void insert keydata kd throw new ...

雜湊 開放定址法

引起雜湊衝突的乙個原因可能是 雜湊函式設計不夠合理。雜湊函式設計原則 雜湊函式的定義域必須包括需要儲存的全部關鍵碼,而如果雜湊表允許有m個位址時,其值域必須在0到m 1之間 雜湊函式計算出來的位址能均勻分布在整個空間中 雜湊函式應該比較簡單 閉雜湊typedef int keytype typede...

CLRS 11 4開放定址法

11.4 1 只給出結果,如下 由定理11.6和11.8可得一次不成功查詢和一次成功查詢探查的期望上界分別是 1 1 1 ln11 帶入 得 3 4 時不成功查詢 成功查詢上界分別是 4,1.85 7 8 時不成功查詢 成功查詢上界分別是 8,2.38 11.4 4 在返回 h1 k 之前要檢查雜湊...