資料結構與演算法 七 之雜湊表

2021-10-02 17:05:26 字數 1338 閱讀 7222

雜湊表,是根據關鍵碼值而進行訪問的資料結構。通過碼值對映到表中的乙個位置來訪問以加快查詢速度。這個對映函式叫雜湊函式,存放記錄的陣列叫雜湊表。

使用陣列+鍊錶的形式實現乙個簡單的hashtable,實現以下函式。

雜湊函式以最簡單的取模為例。

首先定義乙個鍊錶節點,儲存key與value。

class

node

public

intgetkey()

public

void

setkey

(int key)

public v getvalue()

public

void

setvalue

(v value)

public node getnext()

public

void

setnext

(node next)

}

其次定義乙個鍊錶類,實現鍊錶的增加,查詢,遍歷。

class

nodelinkedlist

public

void

add(

int key, v value)

node temp = head;

//判斷是否進入if語句

boolean isenter =

false

;while

(temp.

getnext()

!= null)

temp = temp.

getnext()

;}if(

!isenter)

}public v get

(int key)

temp = temp.

getnext()

;}return null;

}public

void

list()

system.out.

println()

;}}

定義hashtab類

public

class

hashtab

}public

void

list()

}//定義乙個雜湊函式

private

inthashfunction

(int key)

public

void

put(

int key, v value)

public v get

(int key)

}

資料結構與演算法 七 雜湊表

雜湊表 hash table,也叫雜湊表 是根據關鍵碼值 key value 而直接進行訪問的資料結構。也就是說,它通過把關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的速度。這個對映函式叫做雜湊函式,存放記錄的陣列叫做雜湊表。實現根據以前的單向鍊錶編寫乙個雜湊鍊錶 public class ha...

資料結構與演算法之雜湊表

介紹 雜湊表 hash table,也叫雜湊表 是根據關鍵碼值 key value 而直接進行訪問的資料結構。也就是說,它通過把關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的速度。這個對映函式叫做雜湊函式,存放記錄的陣列叫做雜湊表。應用 看乙個實際需求,google公司的乙個上機題 有乙個公司,...

資料結構之查詢 七 雜湊表 雜湊表

基本概念 如何查詢?以上兩例為例,若查詢2001011810216的資訊,可直接訪問v 16 查詢key 9,則訪問h 9 9號位址,若內容為9則成功,若查不到,則返回空指標或空記錄。優缺點 構造方法 制定乙個好的解決衝突的方案 構造雜湊函式需考慮的因素 根據元素集合的特性構造 要求2 無論用什麼方...