介紹
雜湊表(hash table,也叫雜湊表),是根據關鍵碼值(key value)而直接進行訪問的資料結構。也就是說,它通過把關鍵碼值對映到表中乙個位置來訪問記錄,以加快查詢的速度。這個對映函式叫做雜湊函式,存放記錄的陣列叫做雜湊表。
應用
看乙個實際需求,google公司的乙個上機題:
有乙個公司,當有新的員工來報道時,要求將該員工的資訊加入(id,性別,年齡,住址…),當輸入該員工的id時,要求查詢到該員工的 所有資訊.
要求: 不使用資料庫,盡量節省記憶體,速度越快越好=>雜湊表(雜湊)
**實現
public
class
hashtab
}//向hash表中存入員工資訊
public
void
add(emp emp)
public
void
list()
}//根據輸入的id,查詢雇員
public
void
findempbyids
(int id)
else
}//雜湊函式
public
inthashfun
(int id)
}//員工基本資訊類
class
emp}
//鍊錶
class
emplinkedlist
emp cur=head;
while
(true
) cur=cur.next;
} cur.next=emp;
}//遍歷鍊錶
public
void
list
(int i)
emp cur=head;
while
(true
) system.out.
println
("id="
+cur.id+
"name="
+cur.name)
; cur=cur.next;
} system.out.
println()
;}//查詢
public emp findempbyid
(int id)
emp cur=head;
while
(true)if
(cur.id==id)
cur=cur.next;
}return cur;
}}
資料結構與演算法 七 之雜湊表
雜湊表,是根據關鍵碼值而進行訪問的資料結構。通過碼值對映到表中的乙個位置來訪問以加快查詢速度。這個對映函式叫雜湊函式,存放記錄的陣列叫雜湊表。使用陣列 鍊錶的形式實現乙個簡單的hashtable,實現以下函式。雜湊函式以最簡單的取模為例。首先定義乙個鍊錶節點,儲存key與value。class no...
資料結構與演算法 雜湊表
對映在數學上相當於乙個函式f x a b。雜湊表的核心是乙個雜湊函式 hash function 這個函式規定了集合a中的元素如何對應到集合b中的元素。根據設定的雜湊函式 h key 和處理衝突的方法 將一組關鍵字映像到乙個有限的連續的位址集 區間 上,並以關鍵字在位址集中的 像 作為相應記錄在表中...
資料結構與演算法 雜湊表
雜湊表也叫雜湊表,hash表是一種根據關鍵字值 key value 而直接進行訪問的資料結構。是把記錄的儲存位置和記錄的關鍵字之間建立對應關係的一種儲存結構。雜湊表又叫 雜湊表,速度很快,最常用的一種儲存機構是順序表 鍊錶的結構 主結構是順序表,每個順序表中的元素又對應一張鍊錶。雜湊表的常用資料結構...