数据结构
文章平均质量分 51
逸羽菲
热爱技术,热爱生活。
展开
-
数据结构算法错误记录
二叉树翻转的时候不能用中序遍历。前序遍历,后序遍历都行,翻转后不用返回值接。层序遍历两个都是while,小list里只加list.add(cur.val);就可以。对称二叉树的判断,要在传的参数是root.left和root.right,只传一个root解决不了。求二叉树的最小深度,和最大深度不一样,最小深度需要注意叶子节点的定义,叶子节点是左右子树全不为空。可以用后序遍历。.........原创 2022-07-18 15:47:16 · 385 阅读 · 0 评论 -
【数组&双指针】leedcode 4. 寻找两个正序数组的中位数详解
从今天开始,正式开始新的专栏,数据结构算法刷题相关。先从数组双指针开始,因为程序员的人数越来越多,很多题,背一背就可以了,想要变得更好,只有从基础出发,下面开始一起学习吧。原创 2022-04-02 10:54:01 · 399 阅读 · 4 评论 -
全网最详细的红黑树的基本性质详解及原因和时间复杂度解析
红黑树的基本性质节点要么是红色,要么是黑色。根节点是黑色每一个叶子节点(最后的空节点) 是黑色的每个红节点的两个孩子节点都是黑的从任意节点到叶子节点 ,结果的黑色节点是一样多的根节点为什么是黑色?根据前个文章,红黑树是由2-3树衍生而来的,根据图示,根节点只能是黑色。为什么每一个叶子节点(最后的空节点) 是黑色的?这个相当于一个定义为什么从任意节点到叶子节点,结果的黑色节点是一样多的呢?因为2-3树是完全平衡的二叉树,所以深度是一样的,红黑树是由2-3树演变而来,每经过一个黑色原创 2021-08-29 12:37:53 · 1340 阅读 · 15 评论 -
全网最详细的红黑树和2-3树对比
为什么说2-3树和红黑树等价呢?2-3树中一个节点可以存放1个元素,也可能存放2个元素。但红黑树一个节点只能存放一个元素。但是也可以换种形式表示。上面的两张图其实是等价的,为了看的更清晰,所以把bc平行了,b是c的左孩子。如下图因为树对边没有标识,但可以对节点进行标识,如下图。这就代表了b和他的父亲c,本质上是并列的(2-3树),所以这就衍生出了红黑树。根据上篇文章和以上图解,我们可以知道,红黑树的红色节点都是向左倾斜的。看图写2-3对应的红黑树,下图中对应的红黑树是什么样子呢?下原创 2021-08-29 11:57:52 · 916 阅读 · 6 评论 -
全网最详细的2-3树图解
2-3树定义: 2-3树是最简单的B-树(或-树)结构,其每个非叶节点都有两个或三个子女,而且所有叶都在统一层上。2-3树不是二叉树,其节点可拥有3个孩子。不过,2-3树与满二叉树相似。若某棵2-3树不包含3-节点,则看上去像满二叉树,其所有内部节点都可有两个孩子,所有的叶子都在同一级别。另一方面,2-3树的一个内部节点确实有3个孩子,故比相同高度的满二叉树的节点更多。高为h的2-3树包含的节点数大于等于高度为h的满二叉树的节点数,即至少有2^h-1个节点。换一个角度分析,包含n的节点的2-3树的高度不大原创 2021-08-29 11:26:47 · 9546 阅读 · 11 评论 -
【数据结构】之并查集(树的实现方法)
1,概念并查集是一种很不一样的树形结构需要解决的问题是什么?连接问题网络中节点连接的状态(网络是个抽象的概念,用户之间形成的网络)数学中集合类的实现连接问题和路径问题连接问题比路径问题回答的问题要少2,图解思路:将每一颗树,看做是一个节点开始的时候,每个节点都没有连接起来,自己指向自己把4指向3把3指向8把6和5指在一起把9和4指在一起...原创 2019-02-20 11:48:23 · 6870 阅读 · 0 评论 -
【算法】之冒泡排序
1,冒泡排序思想相邻的两个数相比较,如果第二个数小于第一个数,交换,这样经过第一轮,循环,最大的元素就浮出水面了,最后的元素不用管了,就这样循环下去,就排完顺序了。2,基本代码 public static void sort(Integer[] arr){ for (int i = 0;i < arr.length;i++){ for...原创 2019-02-19 21:19:51 · 5538 阅读 · 0 评论 -
【算法】之归并排序
太阳风暴彗星袭月,白虹贯日,仓鹰击于殿上。原创 2019-02-17 09:29:44 · 5576 阅读 · 0 评论 -
java数据结构之数组
数据结构对我们的程序员也是非常重要的,相当于一个基础学科,从今天开始,咱们再重新学习一下数据结构吧1,首先我们要定义一下泛型,初始化成员变量,声明构造方法。 private T data[]; private int size; public MyArray(int capacity) { data = (T[]) new Object[capacity...原创 2019-02-09 10:44:02 · 5696 阅读 · 0 评论