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

2021-10-10 11:41:36 字數 1687 閱讀 7774

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

**實現根據以前的單向鍊錶編寫乙個雜湊鍊錶

public

class

hashtablelist

node

node =

newnode

<

>

(key, value);if

(head == null)

node

temp = head;

while

(temp.next != null)

temp.next = node;

}public v get

(k key)

node

temp = head;

while

(true)if

(temp.next == null)

temp = temp.next;

}return null;

}@override

public string tostring()

return sj.

tostring()

;}private

static

class

node

@override

public string tostring()

}}

雜湊表

public

class

myhashtable

}public

void

put(k key, v value)

public

void

list()

}public v get

(k key)

// 編寫雜湊函式, 使用乙個簡單取模法

public

inthashfun

(int id)

}

演示

public

class

hashtabledemo

}

執行結果如下

hash[0]:

hash[1]:[a=student(id=1, name=肖戰, age=15, ismale=true),i=student(id=3, name=楊紫, age=17, ismale=false)]

hash[2]:[b=student(id=2, name=王一博, age=15, ismale=true)]

hash[3]:

hash[4]:[d=student(id=4, name=李現, age=18, ismale=true)]

hash[5]:

hash[6]:

hash[7]:

student(id=1, name=肖戰, age=15, ismale=true)

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

雜湊表,是根據關鍵碼值而進行訪問的資料結構。通過碼值對映到表中的乙個位置來訪問以加快查詢速度。這個對映函式叫雜湊函式,存放記錄的陣列叫雜湊表。使用陣列 鍊錶的形式實現乙個簡單的hashtable,實現以下函式。雜湊函式以最簡單的取模為例。首先定義乙個鍊錶節點,儲存key與value。class no...

資料結構與演算法 雜湊表

對映在數學上相當於乙個函式f x a b。雜湊表的核心是乙個雜湊函式 hash function 這個函式規定了集合a中的元素如何對應到集合b中的元素。根據設定的雜湊函式 h key 和處理衝突的方法 將一組關鍵字映像到乙個有限的連續的位址集 區間 上,並以關鍵字在位址集中的 像 作為相應記錄在表中...

資料結構與演算法 雜湊表

雜湊表也叫雜湊表,hash表是一種根據關鍵字值 key value 而直接進行訪問的資料結構。是把記錄的儲存位置和記錄的關鍵字之間建立對應關係的一種儲存結構。雜湊表又叫 雜湊表,速度很快,最常用的一種儲存機構是順序表 鍊錶的結構 主結構是順序表,每個順序表中的元素又對應一張鍊錶。雜湊表的常用資料結構...