什么是散列表?


①為什么要用散列表?

數組的特點是:尋址容易,插入和刪除困難;

鏈表的特點是:尋址困難,插入和刪除容易;

那么能不能綜合兩者的特性,做出一種尋址容易,插入和刪除也容易的數據結構?答案是肯定的,這就是我們要了解的散列表,也叫哈希表

 

②什么是散列表?

散列表也叫hash表 ,是根據關鍵碼值而進行直接進行訪問的數據結構。也就是說,它通過把關鍵碼值映射到表中一個位置來訪問記錄,以加快查找的速度。這個映射也叫散列函數,存放記錄的數組叫散列表。

給定表M,存在函數f(key),對任意給定的關鍵字值key,代入函數后若能得到包含該關鍵字的記錄在表中的地址,則成表M為Hash表,函數f(key)為哈希函數。

 

 ③散列表有哪些特點?

HashMap具有優秀的查找性能。根據key找到value,性能最好的算法!(沒有之一)。無論數據多少,查找方法的性能始終如一!為了實現根據key告訴找到value,散列表提供了高性能查找算法。利用散列數組算法進行散列查找,性能很好。無論數據量有多少,都會在一個固定的時間,找回結果!甚至是在億級別數據量上進行查找!凡是軟件中需要查找根據key查找到value時,一定使用散列表。

 

④使用散列表的注意事項:

①key-value成對數據添加到散列表

②key不可以重復,value可以重復

③key-value規定為一個條目(Entry)

 ④散列表中散列數組的大小稱為容量

⑤key-value數量稱為size

⑥size/容量稱為加載因子,要小於75%,如果大於75%,會自動擴容

⑦自動擴容會影響put添加性能,可以事先通過設置初始容量,提高put的性能

⑧散列表的默認初始容量是16,默認加載因子是75%,建議不要修改加載因子

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM