• 2024-06-17二叉树的基础讲解
    二叉树在遍历,查找,增删的效率上面都很高,是数据结构中很重要的,下面我们来基础的认识一下。(高级的本人还没学,下面的代码用伪代码或C语言写的)我会从树,树的一些专有名词,树的遍历,二叉树,二叉树的遍历以及后面升级的树进行一部分的介绍。树首先我们从最开始的树来进行讲解,我们知道
  • 2024-06-13二叉搜索树(待补充)
    二叉搜索树,是指一棵空树或者具有下列性质的二叉树:若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值;若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值;任意节点的左,右子树也分别为二叉搜索树;没有键值相等的节点。用Java来表示二叉树p
  • 2024-06-08力扣96 不同的二叉搜索树 Java版本
    文章目录题目描述代码题目描述给你一个整数n,求恰由n个节点组成且节点值从1到n互不相同的二叉搜索树有多少种?返回满足题意的二叉搜索树的种数。示例1:输入:n=3输出:5示例2:输入:n=1输出:1提示:1<=n<=19代码importjava.lang.annotation.Rete
  • 2024-06-07Solution Set #2
    发电语录,被班主任注意到,并被公示到\(\text{whk}\)家长群了。发电语录,被班主任注意到,并被公示到\(\text{whk}\)家长群了。发电语录,被班主任注意到,并被公示到\(\text{whk}\)家长群了。20.「NOI2022」冒泡排序离散化掉\(V_i\)显然没有影响。基础性质:若\(i<j\)且\(a_
  • 2024-06-04二叉树遍历 和 线索二叉树
    文章目录1.1二叉树遍历1.1前提问题1:什么叫二叉树的遍历?二叉树的三种遍历:三个概念:遍历和访问和经过重要概念:遍历过程中的经过节点,不代表访问节点问题2:遍历和访问的联系?问题3:这个有顺序的编号的意义是什么?问题4:什么是访问?如何对节点进行访问?1.2二叉树遍历代码:二
  • 2024-06-04数据结构:树
    树,是一种数据结构,就像这样:这就是一棵二叉树,也就是最多有两个分支的树,这些圆圈就是树的节点,下面讲一下节点间的关系:1、最上面的那个节点叫根节点2、每一个节点的上面的连着的节点称作这个节点的父节点,根节点没有父节点。3、每一个节点连着的下面的节点称作这个节点的子节点
  • 2024-05-313598. 二叉树遍历 已知前序 中序 求后序遍历
    #include<iostream>usingnamespacestd;voidpostOrder(stringpre,stringin)//定义后序遍历函数,参数为前序遍历和中序遍历结果字符串{if(in.size()){charroot=pre[0];//获取前序遍历结果的第一个字符作为根节点intk=in.find(
  • 2024-05-30二叉树的创建与遍历(附有C++实现详细代码)
    一、引言在计算机科学中,二叉树是一种常见的数据结构,它的每个节点最多有两个子节点,通常称为左子节点和右子节点。二叉树的应用广泛,包括但不限于搜索算法、排序算法、存储结构等。本文将详细讨论二叉树的创建与遍历方法,并通过代码示例进行说明。二、二叉树的基本概念在介
  • 2024-05-26数据结构:二叉树与树
    一树的基本概念:1.树的形状:2.树的定义:树是一种非线性的数据结构,它是n(n>=0)个结点的有限集。当n=0时,称为空树。在任意一棵非空树中应满足:2.1有且仅有一个特定的称为根的结点。2.2当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1……Tm,其中每个集合本身又是
  • 2024-05-25红黑树基于Java代码的剖析
    红黑树是一种自平衡的二叉查找树,通过添加颜色属性和旋转操作来保证树的平衡性,从而在最坏情况下仍能提供对数时间复杂度的插入、删除和查找操作。本文通过对一段红黑树的Java代码进行剖析,详细讲解其插入和删除操作是如何实现的,以及这些操作是如何利用红黑树的性质来维持平衡
  • 2024-05-06如何根据二叉树遍历结果快速绘制二叉树
    一、已知前序遍历和中序遍历(1)前序遍历(根结点--->左子树--->右子树)ABDGHCEIF(2)中序遍历(左子树--->根结点--->右子树)GDHBAEICF注意:在最后连接二叉树时,注意先完玩左子树,再连右子树二、已知前后序遍历和中序遍历(1)后序遍历(左子树--->右
  • 2024-05-01P10218 魔法手杖
    感觉考场上做这题还是挺聪明的答案显然满足二分的性质。考虑枚举答案mid,如果mid满足要求,那么就要满足如下条件:\[\sum_{a_{i}\oplusx<mid}b^{i}<m\]\[\foralli,a_{i}+x>=mid\]因为如果你这个\(a_{i}\)如果不能满足异或,那么肯定就需要加。第一个条件即为:被定向加强的
  • 2024-04-27[题解]P2015 二叉苹果树
    P2015二叉苹果树树形dp,一般用dfs辅助解决。当我们搜索到\(u\),此时剩下\(cnt\)条边可以用,也就是说\(u\)为根节点的子树最多可以保留\(cnt\)条边。由于上一层的需求,我们显然需要枚举剩余边数\(i\)(\(1\leqi\leqcnt\))。接下来对于每个\(i\),我们考虑剩余的\(u\)条边可以怎么放。
  • 2024-04-23leedcode-左叶子之和
    自己写的,使用了经典的广度优先搜素(BFS):classSolution:defsumOfLeftLeaves(self,root:Optional[TreeNode])->int:#初始化队列,将根节点放入队列中queue=[root]#初始化结果变量res=0#遍历队列,直到队列为空
  • 2024-04-13二叉树中序和后序遍历表达式
    什么是二叉树二叉树是一种树形结构,每个节点最多有两个子节点。其中,左子节点的值小于等于父节点的值,右子节点的值大于等于父节点的值。这种特殊的结构使得二叉树在搜索、排序等方面有着广泛的应用。二叉树的遍历方式二叉树的遍历方式有三种:前序遍历、中序遍历和后序遍历。其中,前
  • 2024-04-10红黑树
    红黑树目录红黑树什么是红黑树(非完全平衡二叉树)?红黑树再平衡方法?二叉树的特点红黑树的特点红黑树左旋右旋变色示例:红黑树的旋转和变色综合案例什么是红黑树(非完全平衡二叉树)?红黑树是一种自平衡二叉搜索树(二叉查找树)是一种特殊的搜索二叉树,在进行插入和删除时通过特定操作
  • 2024-04-07二叉搜索树学习笔记
    二叉搜索树学习笔记\(\frac{11}{20}\),看来是很难完成了。这篇笔记大概是为了Splay准备的。二叉搜索树只需要了解他的思想,结合图片看就很一目了然。一种比较唐的数据结构,他可以维护以下东西:插入/删除一个数。查询某个数是否出现。查询全局某个数的前驱/后继。先考虑每个
  • 2024-04-02蓝桥杯练习笔记(十六)
    蓝桥杯练习笔记(十六)一、输入示例:312111347453这是用到了m叉树的结论:对于某个m叉树的一个节点n,假如其有完整子树,则其左子节点l为l=(n-1)m+2,右子节点r为r=mn+1。基于此我们可以快速判断这个数在某些节点处的具体情况。比如是否是满叶子等等。蓝桥官网题解:
  • 2024-03-29【数据结构】树与二叉树
    树与二叉树目录树与二叉树树二叉树二叉树的定义二叉树的性质二叉树--存储结构二叉树的顺序存储表示二叉树的链式存储表示二叉链表三叉链表双亲数组遍历二叉树先(根)序的遍历算法中(根)序的遍历算法后(根)序的遍历算法遍历二叉树——相关结论应用二叉树存放表达式求二叉树的
  • 2024-03-18对称二叉树
    这里考试的时候其实就是想考递归,但是我实在是不清楚为什么\(n\)能够开到\(100W\)。。。这不随便超时吗介绍一个确定性算法的判断一个二叉树是否对称首先一个二叉树的中序遍历有两种,一个是先遍历左子树,一个是先遍历右子树,我们用结构归纳法,可以证明以树根为中心翻转其中一种中序遍
  • 2024-03-15数据结构之链式二叉树
    当我们初步了解二叉树后我们就可以进一步去深入学习二叉树了1.链式二叉树的遍历这里我们先去定义链式二叉树的结构分为两个指针一左一右他们分别指向左子树和右子树typedefintBTDataType;typedefstructBinaryTreeNode{ BTDataTypedata; structBinartTreeNode
  • 2024-03-13数据结构之树(Topk问题, 链式二叉树)
    一.topk问题取N个数中最大(小)的前k个值,N远大于k这道题可以用堆的方法来解决,首先取这N个数的前k个值,用它们建堆时间复杂度O(k)之后将剩余的N-k个数据依次与堆顶数据进行比较,如果比堆顶数据大,则将堆顶数据覆盖后向下调整时间复杂度(N-k)*log(N)总共的时间复杂度为O(
  • 2024-02-24平衡二叉树
    平衡二叉树特点:任意节点左右子树的高度不超过1反例:10节点的左子树高度为0,右子树高度为3这是平衡二叉树这也是平衡二叉树如何保持平衡添加一个节点后,该树不再是平衡二叉树-》旋转左旋,多余左节点做右节点复杂的左旋10的多余左节点9。给予前父节点7作为右节
  • 2024-02-23二叉树
    二叉树概念二叉树是一种特殊的树,每次分叉不超过两部分。结构根节点如果一个结点没有子树,那就称为叶子结点。左子树右子树完美二叉树如果一个二叉树的高度为h,从第二层开始每层结点树都是上一层的两倍。左子树2*x(根节点)右子树2*x(根节点)+1二叉树的遍历前序
  • 2024-02-20三哼经(山海经) 线段树
    关于这道题,网上的题解基本都是什么求最大连续子段和,还有什么最大前缀、最大后缀,看了半天也是实在看不明白,便找了个题解,开始给题解写注释(众所周知题解里基本没有注释doge),写了一下午加一晚上,倒是差不多明白了,又肝了0.3坤天终于把三哼经拿下了。题目巴拉巴拉说了一堆没用的的话,让