数据结构
gaogao1874
这个作者很懒,什么都没留下…
展开
-
Map
Map是一种用于快速查找的数据结构,它以键值对的形式存储数据,每一个键都是唯一的,且对应着一个值,如果想要查找Map中的数据,只需要传入一个键,Map会对键进行匹配并返回键所对应的值,可以说Map其实就是一个存放键值对的集合。Map被各种编程语言广泛使用,只不过在名称上可能会有些混淆,像Python中叫做字典(Dictionary),也有些语言称其为关联数组(Associative Array),...转载 2018-11-11 16:20:42 · 179 阅读 · 0 评论 -
AbstractMap
AbstractMap是一个抽象类,它是Map接口的一个骨架实现,最小化实现了此接口提供的抽象函数。在Java的Collection框架中基本都遵循了这一规定,骨架实现在接口与实现类之间构建了一层抽象,其目的是为了复用一些比较通用的函数以及方便扩展,例如List接口拥有骨架实现AbstractList、Set接口拥有骨架实现AbstractSet等。AbstractMap实现,首先是查询操作:...转载 2018-11-14 09:12:05 · 203 阅读 · 0 评论 -
HashMap
Java7 HashMap大方向上,HashMap 里面是一个数组,然后数组中每个元素是一个单向链表。上图中,每个绿色的实体是嵌套类 Entry 的实例,Entry 包含四个属性:key, value, hash 值和用于单向链表的 next。capacity:当前数组容量,始终保持 2^n,可以扩容,扩容后数组大小为当前的 2 倍。loadFactor:负载因子,默认为 0.75。t...转载 2019-02-15 14:47:08 · 222 阅读 · 0 评论 -
二叉树
在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2^{i-1}个结点; 深度为k的二叉树至多有2^k-1 个结点。满二叉树:一棵深度为k,...转载 2019-02-13 10:31:03 · 532 阅读 · 0 评论