1.自然語言描述
又稱雜湊表,關鍵字本身與其在表中的位置有關係,用雜湊函式來確定關鍵字的位置。雜湊表的關鍵是處理位址衝突,教科書中給出了幾種雜湊方法,這裡用最簡單的線性探查來處理衝突。
字串雜湊是將兩個字串轉換成兩個唯一整數,這裡是字串字首雜湊法:將字串看作乙個p進製的數,然後將每一位儲存在雜湊表中。這樣做的好處是能夠得到任意乙個子串的雜湊值,為h[r]-h[l-1]*p[r-l+1];就是將h[r]挪到l,然後做差得到雜湊值。p=131或者13331可以使衝突概率極低。
2.**描述
#include
#include
#include
#include
using
namespace std;
const
int maxn=
2e5+
10,null=
0x3f3f3f3f
;int n,s[maxn]
;int
hash
(int x)
return k;
}int
main
(void
)return0;
}
#include
#include
#include
#include
using
namespace std;
typedef
unsigned
long
long ull;
const
int maxn=
1e5+
10,p=
131;
int n,m;
char str[maxn]
;int p[maxn]
,h[maxn]
;ull calc
(int l,
int r)
intmain
(void
)for
(int i=
0;i)return0;
}
資料結構 雜湊表1(雜湊表)
雜湊表 雜湊表是一種資料結構,它提供了快速的插入操作和查詢操作,其基於陣列來實現。雜湊化方式 1 直接將關鍵字作為索引。弊端 關鍵字資料型別只能是整形。2 將單詞轉換成索引。將字母轉換成ascii碼,然後進行相加。弊端 會出現不同的字串轉換ascii碼的值和相同。冪的連乘。弊端 通過冪的連乘得到的k...
資料結構 雜湊表
1.雜湊表的定義 元素的儲存位置和它的關鍵碼之間建立乙個確定的對應關係h,使得每個關鍵碼key和唯一的儲存位置h key 相對應。在查詢時,根據這個確定的對應關係找到給定值k的對映h k 若查詢集合中存在這個記錄,則必定在h k 的位置上,這種查詢技術稱為雜湊技術。採用雜湊技術將記錄儲存在一塊連續的...
資料結構 雜湊表
雜湊表的定義 雜湊表 hash table,也叫雜湊表 是根據關鍵碼值 key value 而直接進行訪問的資料結構。也就是說,它通過把 關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的 速度。這個對映函式叫做雜湊函式,存放 記錄的陣列叫做雜湊表。雜湊函式的析構方法 餘數法 取關鍵字被某個不大於雜...