資料結構 HashTable

2021-10-02 07:34:54 字數 2374 閱讀 9999

基本介紹

雜湊表管理學生資訊概圖

示例**

@data

public

class

student';

}public

student

(int id, string name, string ***, string address)

}

public

class

studentlinkedlist

/*如果鍊錶為空,直接將節點新增到鍊錶的頭節點即可*/if(

isempty()

) student temp = head;

while

(true

) temp = temp.

getnext()

;}temp.

setnext

(student);}

/** * 顯示鍊錶下的元素

*/public

void

show()

student temp = head;

while

(true

) temp = temp.

getnext()

;}}/**

* 判斷鍊錶是否為空

** @return

*/public

boolean

isempty()

/** * 根據編號獲取鍊錶節點資訊

** @param no

* @return

*/public student findbyid

(int no)

student temp = head;

while

(true)if

(temp.

getnext()

== null)

temp = temp.

getnext()

;}return temp;

}/**

* 根據編號刪除編號對應節點

** @param id

*/public

void

remove

(int id)

/*如果頭節點即為待刪除的節點,直接修改頭節點即可*/

if(head.

getid()

== id)

student temp = head;

while

(true)if

(temp.

getnext()

.getid()

== id)

temp = temp.

getnext()

;}}}

public

class

hashtable

public

hashtable

(int size)

public

void

add(student student)

studentlinkedlistarray[

hashfun

(student.

getid()

)].add

(student);}

public student findbyid

(int no)

public

void

removebyid

(int no)

/** * 初始化hashtable鍊錶的數值的第乙個元素(head節點),不然會報npe

** @param studentlinkedlistarray

*/private

void

innithashtable

(studentlinkedlist[

] studentlinkedlistarray)

for(

int i =

0; i < studentlinkedlistarray.length; i++)}

public

void

show()

}/**

* 獲取雜湊數值,這裡的計算函式很簡單,真正的hashtable雜湊值的計算可能會很複雜,出現雜湊碰撞的概率基本為0

** @param id

* @return

*/private

inthashfun

(int id)

}

資料結構 字典hashtable

redis的資料庫就是使用字典來作為底層實現的,對資料庫的增 刪 查 改操作也是構建在對字典的操作之上的。舉個例子,當我們執行命令 redis set msg hello world 在資料庫中建立乙個鍵為 msg 值為 helloworld 的鍵值對時,這個鍵值對就是儲存在代表資料庫的字典裡面的。...

資料結構與演算法 Hash Table

參考自 談談 hash table 雜湊表是一種資料結構,實現key value的快速訪問。之前說過陣列可以實現快速隨機訪問,所以雜湊表肯定會使用到陣列。在這裡,我們把每乙個陣列的單元叫做乙個bucket 桶 雜湊表的大小最好是素數。雜湊表是乙個在時間和空間上做出權衡的經典例子。如果沒有記憶體限制,...

資料結構 Hashtable 閉雜湊

雜湊表是常見資料結構中一種擁有高效插入,高效查詢的結構,時間複雜度為o 1 閉雜湊雜湊的不足之處就是隨著衝突的資料增多,插入的效率也會隨之變慢,為了優化閉雜湊雜湊的效率,我們可以採取以下的方式 1.當插入的資料佔總大小的一定比率的時候,也稱負載因子,我們可以對雜湊表進行擴容,重新通過雜湊函式求得位置...