数据结构
文章平均质量分 57
大洼X
躺平和躺平?This is a question
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
并查集(动图)
文章目录数组实现(quick find)树实现(quick union)优化基于节点总数的优化基于深度的优化路径压缩数组实现(quick find)树实现(quick union)合并两个节点A和B,则是将A的根节点指向B(或B的根节点指向A).优化基于节点总数的优化如图,此时要将节点8合并到节点9上,此时的节点9的深度将会变为4,即树的最大深度为4.可以考虑基于节点数的优化方...原创 2019-11-28 11:45:24 · 390 阅读 · 0 评论 -
二分搜索树 前中后序(递归和非递归)和层序遍历(动图)
二分搜索树前序\中序\后序遍历理解根据获取中间节点的不同,来分为前序\中序\后序,如图⇓先序遍历 -> 先打印中间节点,再依次打印左节点和右节点中序遍历 -> 先打印左节点,再打印中间节点,最后打印右节点后序遍历 -> 先依次打印左节点和右节点,再打印中间节点二分搜索树前序\中序\后序遍历节点访问顺序图解上图是一棵示例的二分搜索树,满足左节点<中间节点&...原创 2019-10-11 15:14:52 · 1987 阅读 · 0 评论 -
java HashMap、ArrayList动态扩容机制分析(均摊复杂度和复杂度振荡)
均摊复杂度当数组A满了则会触发数据扩容,即创建一个新的数组B,将数组A中所有的元素复制到数组B中,这个操作的复杂度为O(n)。则可以理解为插入元素的复杂度为O(n),但是这样的理解不够准确,并不是每一个插入都会触发数组扩容,只有当插入第N+1个元素的时候才会。如图;上图中扩容到2N为笔者任意设定,读者也可自定(至少要保证倍数大于1)。不论扩容的倍数为多少,均摊复杂度都为O(1)。复杂度振荡...原创 2019-09-23 07:55:55 · 1325 阅读 · 1 评论 -
红黑树与2-3树的等价性->深入理解红黑树
2-3树定义节点可以存放一个或者两个元素,称为2节点和3节点(这也是2-3树名称的由来),如下图是一棵绝对平衡的二插树,下图示例就是一个2-3树任意一个节点到叶子节点的深度是一致的满足二分搜索树的基本性质,即 中序遍历的结果是有序二节点 -> 左节点<中间节点<右节点,如图中的以52为根节点的子树三节点 -> 左节点<中左节点<中间节点&...原创 2019-11-14 17:36:05 · 538 阅读 · 0 评论
分享