ch1 資料結構篇 雜湊表

2021-10-24 01:21:46 字數 1105 閱讀 7481

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 而直接進行訪問的資料結構。也就是說,它通過把 關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的 速度。這個對映函式叫做雜湊函式,存放 記錄的陣列叫做雜湊表。雜湊函式的析構方法 餘數法 取關鍵字被某個不大於雜...