雜湊表,是根據關鍵碼值而進行訪問的資料結構。通過碼值對映到表中的乙個位置來訪問以加快查詢速度。這個對映函式叫雜湊函式,存放記錄的陣列叫雜湊表。
使用陣列+鍊錶的形式實現乙個簡單的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 無論用什麼方...