首页 > 编程知识 正文

数据挖掘hash树,hashmap底层数据结构是什么

时间:2023-05-04 22:58:55 阅读:128147 作者:3147

一HashMap的数据结构

jdk1.8以前是数组链表

jdk1.8以上为数组链表红黑

二数据结构的物理结构

数据逻辑结构在计算机中的存储格式

有两种类型的数据元素存储结构:

顺序存储器结构:在地址连续存储单元中存储数据要素,该数据间的逻辑关系和物理关系一致

链式存储结构:将数据元素存储在任意存储器单元中。 这个组可以连续,也可以不连续。 那么,我们怎么找到它呢? 可以将指针存储在数据元素的地址中,然后从指针中找到相应的数据元素

两种结构,各有优缺点,可以相互结合运用

HashMap正好用于这两种数据结构

三数组

HashMap的主干数据结构是数组。 也就是说,key通过散列计算将节点对象存储在数组的相应位置。

四链表

然后,如果多个不同的key经过散列计算得到的值相同,则在数组的相应位置存储多个对象的链表,每个对象的属性除了key、value之外,还有next (下一个节点的地址)。

五红黑树

从jdk1.8开始,如果链表长度超过8 (缺省值),将转为红黑树的保存方式。

六什关于红黑树

1叉搜索树:

1、左子树的所有节点的值都小于等于他的根节点的值

2、右子树的所有节点的值都在他的根节点的值以上

3、左右子树也一定是二叉排序树

接下来是标准的两股搜索树

2均衡的双叉搜索树

首先是二叉搜索树

通过一定的变换保持两侧的平衡

3红黑树

红黑树是二叉搜索树,类似于平衡二叉搜索树,但不是绝对的平衡。

红黑树,是一种平衡的两股锡克树,平衡并不构成“瘸子”,而是指左腿非常长,或者右腿非常长。 除了两股搜索树的特性之外,具体还具有以下特性。

1 .节点为红色或黑色

2 .根节点为黑色

3 .每片叶子的节点是黑色的空节点(NULL )

4 .每个红色节点的两个子节点是黑色的。

5 .从任意节点到该叶的所有路径中都包含相同的黑色节点。

红黑树的搜索效率高于链表

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。