首页 > 其他分享 >树与二叉树

树与二叉树

时间:2023-07-29 20:44:48浏览次数:34  
标签:结点 T2 T3 T1 二叉树 节点

树的概念:

根有子节点,子节点又是一个子树的根

T1,T2,T3换一个顺序就不是原来的树了,就称为有序树,T1,T2,T3换一个顺序就还是原来的树,就称为无序树

二叉树不是树的特殊情况,二叉树中的一个结点必须表明该结点是左节点还是右节点,即便它没有兄弟结点。而树不必区分左右。

 

 二叉树的性质

每层最少有1个结点

性质2:深度为k的二叉树总共最多有2k-1个结点

深度为k的二叉树最少有k个结点

二叉树的存储

顺序存储

实现: 按满二叉树的结点层次编号,依次存放二叉树中的数据元素

情况1:满二叉树和完全二叉树:

情况2:非完全二叉树和非满二叉树

链式存储

 

可以用来找前驱(双亲)

 

标签:结点,T2,T3,T1,二叉树,节点
From: https://www.cnblogs.com/Sandals-little/p/17590486.html

相关文章

  • 104. 二叉树的最大深度
    给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/\920/\157返回它的最大深度 3。#Definitionforabinarytreenode.......
  • 二叉树的广度优先遍历
    二叉树的广度优先遍历层序遍历设二叉树的根节点所在层数为第一层,层序遍历就是从二叉树的根节点出发,先访问第一层的根节点,然后从左到右访问第2层上的节点,以此类推,自上而下,自左至右逐层访问树的结点的过程就是层序遍历。要想用代码实现队列的层序遍历我们需要借助队列:1、先把根......
  • 101. 对称二叉树
    给你一个二叉树的根节点 root ,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left=None,right=None):#s......
  • 二叉树某个节点的深度
    微信公众号:码云成化关注可了解更多的教程及进阶技巧。问题或建议,请公众号留言;如果你觉得阿云对你有所帮助,欢迎赞赏深度的定义[当前结点的层数。默认叶子节点是null节点,深度是0。其子节点是null节点,深度是1。]普通二叉树给出上图一个普通二叉树,如果计算结点深度,......
  • 03-二叉树的遍历
    二叉树的遍历定义:遍历是数据结构中的常见操作把所有元素都访问一遍线性数据结构的遍历比较简单分为:正序遍历和逆序遍历根据结点访问顺序的不同,二叉树的常见遍历方式有4种前序遍历(PreorderTraversal)中序遍历(inorderTraversal)后序遍历(PostorderTraversal)层序遍......
  • Redis的有序集合Zset为啥用跳表不用二叉树
    跳表和红黑树查找的时间复杂度都是logN,插入删除也是logN。范围查找貌似也都是O(k+logn),其中n是树中节点的数量,k是满足范围条件的节点数量。但是实现起来跳表要简单很多。1.zset有个很核心的操作叫范围查找,我们要查找某个范围区间的元素。跳表可以做到logN时间复杂度内的快......
  • 剑指offer--二叉树
    第3题:二叉搜索树的第k个节点描述给定一棵结点数为n的二叉搜索树,请找出其中的第k小的TreeNode结点值。返回第k小的节点值即可不能查找的情况,如二叉树为空,则返回-1,或者k大于n等等,也返回-1保证n个节点的值不一样思路递归中序遍历二叉搜索树:左子树的元素都小于根节点,右......
  • 树与二叉树知识梳理
    树与二叉树知识梳理目录树与二叉树知识梳理树树的定义树的常用名词有序树和无序树树的存储父亲表达法思路代码孩子兄弟表达法思路代码树的遍历先根遍历后根遍历层次遍历二叉树二叉树的定义二叉树的性质满二叉树满二叉树的定义完全二叉树完全二叉树的定义二叉树的存储父亲表示法孩......
  • 二叉树
    一些定义先序,中序,后序遍历中的序是遍历根的顺序层序遍历就是这个数的bfs序列树的存储有很多种存储方式,一般用结构体数组。数组下标对应这个数的结点,既可以存左儿子右兄弟又可以存左儿子右儿子。下面来看一些题真切的感受一下代码例题1遍历完全二叉树http://oj.da......
  • 二叉树(四)
    二叉树的顺序结构及堆的实现二叉树的顺序结构普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费,而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储。需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,......