Hashtable哈希表原理

问题1;什么叫哈希表

一种特殊的列表,列表中的每一个元素作为地址又可以拉出一条链表。

问题2:其特点是什么?

哈希表是集合的一种,其特点查找特别快,其运行复杂度为1

问题3:哈希表的运行原理是什么?

通过 hash Code() 和equals() 建立哈希表

一个数据通过 hash Code可以得到一个储存位置,通过equals在对这个位置的链表进行比对,判断是否重复。

两种方法进行数据的查找和改动

问题4:如何减少添加元素的冲突

装填因子:表中已记录数 / 哈希表的长度=0.5, java 0.75

除留取余法y = k(x) = x%11

问题5:各种数据类型如何转换成hash code ?

double : 先变成一个long ,与 无符号右移long 异或运算 得到一个整数

String :a b c= 1 X 97+2 X 98+3 X 99 ,Java采用递归的方式

`:异或运算,相同X的两者相同为0,不同为1

posted on 2021-07-31 19:09  北辰星*  阅读(12)  评论(0编辑  收藏  举报