資料結構 雜湊表1(雜湊表)

2021-09-12 07:55:02 字數 2595 閱讀 4616

雜湊表:雜湊表是一種資料結構,它提供了快速的插入操作和查詢操作,其基於陣列來實現。

雜湊化方式

1)直接將關鍵字作為索引。

弊端:關鍵字資料型別只能是整形。

2)將單詞轉換成索引。

①將字母轉換成ascii碼,然後進行相加。

弊端:會出現不同的字串轉換ascii碼的值和相同。

②冪的連乘。

弊端:通過冪的連乘得到的key一般非常大。

③壓縮可選值。

弊端:不能保證每個單詞都對映到陣列的空白單元。

解決方式:

開放位址法

鏈位址法

直接將關鍵字作為索引:

建立乙個物件:

public class info 

public int getkey()

public void setkey(int key)

public string getname()

public void setname(string name)

}

建立乙個雜湊表,使用儲存物件中的關鍵字作為陣列的索引

public class hashtable 

public hashtable(int maxsize)

/*** 插入資料

* * @param info

*/public void insert(info info)

/*** 查詢操作

* * @param key

* @return

*/public info find(int key)

}

將單詞轉換成索引

①將字母轉換成ascii碼,然後進行相加。

建立儲存物件類

public class info 

public string getkey()

public void setkey(string key)

public string getname()

public void setname(string name)

}

建立雜湊類

public class hashtable 

public hashtable(int maxsize)

/*** 插入資料

* * @param info

*/public void insert(info info)

/*** 查詢操作

* * @param key

* @return

*/public info find(string key)

/*** 將字串字母轉換為ascii碼,然後相加

* * @param key

* @return

*/public int hashcode(string key)

return hashvalue;

}}

②冪的連乘。

儲存物件類同上。

建立雜湊錶類。

public class hashtable 

public hashtable(int maxsize)

/*** 插入資料

* * @param info

*/public void insert(info info)

/*** 查詢操作

* * @param key

* @return

*/public info find(string key)

/*** 將字串字母轉換為ascii碼,然後跟乙個指定的數字的冪相乘

* * @param key

* @return

*/public int hashcode(string key)

return hashvalue;

}}

③壓縮可選值。

儲存物件類同上。

建立雜湊錶類。

public class hashtable 

public hashtable(int maxsize)

/*** 插入資料

* * @param info

*/public void insert(info info)

/*** 查詢操作

* * @param key

* @return

*/public info find(string key)

/*** 將字串字母轉換為ascii碼,然後跟乙個指定的數字的冪相乘,得到的結果進行取模

* * @param key

* @return

*/public int hashcode(string key)

return hashvalue.mod(new biginteger(string.valueof(arr.length)))

.intvalue();

}}

資料結構 雜湊表(雜湊表)hash table

hash table 在計算機中,雜湊表 是 一種實現了關聯陣列 抽象資料型別的資料結構,這種資料結構可以對映 鍵 key 和 值 value 補充 關聯陣列 在電腦科學中,乙個關聯陣列 associative array 對映 map 符號表 symbol table 或者是字典 dictiona...

資料結構 雜湊表 雜湊表 原理

記錄的儲存位置 f 關鍵字 這裡的對應關係f稱為雜湊函式,又稱為雜湊 hash函式 採用雜湊技術將記錄儲存在一塊連續的儲存空間中,這塊連續儲存空間稱為雜湊表或雜湊表 hash table 雜湊表hashtable key,value 就是把key通過乙個固定的演算法函式既所謂的雜湊函式轉換成乙個整型...

資料結構 雜湊表查詢(雜湊表)

對於查詢,有順序表直接遍歷,有折半查詢直到查詢成功。但是這都需要不斷的比較,每一次查詢都需要重新遍歷,所以當資料龐大時是非常耗時的。雜湊表是一種可以避免多次比較,直接通過關鍵字就可以得到要查詢的記錄記憶體儲存位置。例如就像是乙個函式,每乙個自變數都對應著乙個函式值,即 這屬於雜湊技術,不需要比較就可...