首页 > 其他分享 >二叉树

二叉树

时间:2023-12-21 21:14:38浏览次数:33  
标签:int 孩子 节点 图例 二叉树 2i

一.二叉树的概念

1.二叉树的性质

  二叉树的每个节点最多有两个子节点,分别称为左孩子和右孩子,以他们为根的子树称为左子树和右子树。

  二叉树的第 i 层最多有 2^(i-1) 个节点。如果每层的节点数都是满的,称他为满二叉树。图例:

  

  如果这个二叉树只是在最后一层有缺失,且缺失的编号都在最后,则成为完全二叉树。图例:

  最上面的节点是二叉树的根,他是唯一没有父节点的节点。从根到节点 u 的路径长度定义为 u 的深度,节点 u 到它的叶子节点的最大路径长度定义为节点 u 的高度。根的高度最大,称为树的高。

二.二叉树的存储结构

  二叉树一个节点的存储,包括节点的值,左右子节点,有静态和动态两种存储方法。

   1.动态二叉树

    

struct Node
{
    int value;//节点的值
    node *lson,*rson;//指向左右节点
};

  注意:需要管理,小心出错。

  2.静态二叉树

struct Node
{
    int value;
    int lson,rson;//左右孩子
}tree[N];

  3.访问

  一颗节点总数量为 k 的完全二叉树,设 1 号节点为根节点,有以下性质:

  (1). 编号 i>1 的节点,其父节点编号为 i/2

  (2). 如果 2i>k,那么节点 i 没有孩子;如果 2i+1>k,那么节点 i 没有右孩子

  (3). 如果节点 i 有孩子,那么他的左孩子是节点 2i,右孩子是节点 2i+1

标签:int,孩子,节点,图例,二叉树,2i
From: https://www.cnblogs.com/filletoto/p/17920071.html

相关文章

  • 21_从中序与后序遍历序列构造二叉树
    106.从中序与后序遍历序列构造二叉树给定两个整数数组inorder和postorder,其中inorder是二叉树的中序遍历,postorder是同一棵树的后序遍历,请你构造并返回这颗二叉树。示例1:输入:inorder=[9,3,15,20,7],postorder=[9,15,7,20,3]输出:[3,9,20,null,null,15,7]......
  • 相同二叉树和镜面二叉树问题
    相同二叉树和镜面二叉树问题作者:Grey原文地址:博客园:相同二叉树和镜面二叉树问题CSDN:相同二叉树和镜面二叉树问题判断两棵树是否是相同的树题目描述见:LeetCode100.SameTree即:如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。比如:两个树结构完全一致,对......
  • Python算法——二叉树遍历
    Python中的二叉树遍历算法详解二叉树是一种常见的树状数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。遍历二叉树是访问树的所有节点并按照特定顺序输出它们的过程。在本文中,我们将讨论二叉树的三种主要遍历算法:前序遍历、中序遍历和后序遍历,并提供相应的Python代码......
  • java实现二叉树前序搜索输出深度完整代码
    importjava.util.Scanner;//1:无需package//2:类名必须Main,不可修改classTreeNode{publicintval;publicTreeNodeleft;publicTreeNoderight;publicTreeNode(intval){this.val=val;this.left=null;this.right=null;}}p......
  • C语言 层次遍历二叉树
    代码如下#include<stdio.h>#include<stdlib.h>#defineMax_Size50typedefstructbitree{chardata;intlevel;structbitree*lchild;structbitree*rchild;}BiTreeNode,*BiTree;typedefstructqueue{BiTreeData[Max_Size];......
  • C++U5-10-二叉树3
    学习目标 二叉树重建的概念 二叉树重建流程 例题和解题思路 2 3 4 5 [【二叉树】求先序排列]  代码【算法分析】后序遍历的最后一个是根节点,由这个根节点可以在中序遍历中确定左子树和右子树的大小和元素,然后递归的去处理左子树和右子树,由于是......
  • 【教3妹学编程-算法题】反转二叉树的奇数层
    3妹:“你不是真正的快乐,你的笑只是你穿的保护色”2哥 :3妹还在唱五月天的歌啊,你不知道五月天假唱,现在全网都在骂呢。3妹:知道啊,可是关我什么事,这个歌的确好听啊。2哥 :嗯嗯,不错,还以为你是脑残粉,无论黑白都只管追星呢。3妹:我是只管追歌的,歌好听就行啦。2哥 :追哥?追哪个哥,难......
  • 第六章 二叉树part01
    第六章二叉树**part01**  递归遍历 144.二叉树的前序遍历 Code:/***Definitionforabinarytreenode.*structTreeNode{*  intval;*  TreeNode*left;*  TreeNode*right;*  TreeNode():val(0),left(nullptr),right(nullpt......
  • 二叉树
    二叉排序树classNode{ constructor(value){ this.value=value this.left=null this.right=null }}classTree{ constructor(){ this.root=null this.travelResult=[] } insertByFather(father,node){ if(father.value>node.value){ ......
  • 655. 输出二叉树(中)
    目录题目题解题目给你一棵二叉树的根节点root,请你构造一个下标从0开始、大小为mxn的字符串矩阵res,用以表示树的格式化布局。构造此格式化布局矩阵需要遵循以下规则:树的高度为height,矩阵的行数m应该等于height+1。矩阵的列数n应该等于2的(height+1)次......