首页 > 其他分享 >数据结构的学习2

数据结构的学习2

时间:2024-07-28 14:24:11浏览次数:13  
标签:称谓 结点 子树 右子 学习 访问 二叉树 数据结构

树:n(n>=0)个结点的有限集合。n = 0 ,空树。

在任意一个非空树中,

1,有且仅有一个特定的根结点

2,当n>1 时,其余结点可分为m个互不相交的有限集合T1,T2,T3.。。。。Tm,其中每一个

集合又是一个树,并且称谓子树。

结点拥有子树的个数称谓结点的度。度为0的结点称谓叶结点。度不为0,称谓分支结点。

树的度数是指,这棵树中,最大的结点的度数,称谓树的度数。

树的深度或高度,从根开始,根为第一层,根的孩子为第二层。

树的存储,顺序结构,链式结构。

二叉树,binary tree

n个结点的有限集合,集合要么为空树,要么由一个根结点和两棵互不相交,分别称谓根结点的左子树和右子树的二叉树组成。。

特点,

1,每个结点最多两个子树。

2,左子树和右子树是有顺序的,次序不能颠倒。

3,如果某个结点只有一个子树,也要区分左,右子树。

特殊的二叉树

1,斜树,所有的结点都只有左子树,左斜树,所有结点都只有右子树,右树。

2,满二叉树,所有的分支结点都存在左右子树,并且叶子都在同一层上。

3,完全二叉树,对于一颗有n个结点的二叉树按层序编号,如果编号i(1<=i<=n)的结点于同样深度的满二叉树中编号为i的结点在二叉树中位置完全相同,则这可树为完全二叉树。

特性

1,在二叉树的第i层上最多有2^(i-1)个结点 i>=1

2,深度为k的二叉树至多有2^k  -1 个结点 k>=1

3,任意一个二叉树T,如果其叶子结点的个数是n0,度数为2的结点数为n2, n0 = n2 +1;

4,有n个结点的完全二叉树深度为(logn/log 2) +1;

层序,

前序,根左右,先访问根,然访问左,访问右。

中序,左根右,先从根开始(不是先访问根),从左开始访问,在访问根,在访问右结点。

后序,左右根,先从根开始(不是先访问根),先访问左,在访问右。在访问根。

标签:称谓,结点,子树,右子,学习,访问,二叉树,数据结构
From: https://blog.csdn.net/m0_56701519/article/details/140750441

相关文章

  • MSPM0G3507外设DMA学习笔记
    概述变量的存储正常情况下,变量存储在SRAM中,如果要发送该变量的值到外设,需要调用内核操作,使SRAM中的数据送到外设。此类型操作过多会导致占用CPU高,整体卡顿。DMA控制概述DMA:DirectMemoryAccess专门用于数据传输,解放CPU对于DMA,CPU首先启动传输,然后在传输过程中执行其......
  • 嵌入式学习第五天:逻辑运算、选择语句...
    目录c语言流程控制关系运算符逻辑运算符&&逻辑与||逻辑或判断闰年!逻辑非逻辑表达式选择语句if语句形式1形式2形式3条件运算switch语句c语言流程控制顺序结构选择结构(分支结构)循环结构任何一个程序都是由这三种结构组合而成。通过比较提供判断的依据,进......
  • 深度学习环境配置——总结下近期遇到的”坑“
    文章目录1.问题1:硬件选择的误区2.问题2:操作系统的适配难题3.问题3:深度学习框架的安装陷阱4.问题4:CUDA与cuDNN的版本匹配问题5.问题5:网络配置的瓶颈6.问题6:数据预处理的技巧7.问题7:模型调优的策略8.问题8:资源管理的艺术9.问题9:版本控制的重要性10.问题10:安全性......
  • markdown学习
    Markdown学习字体hello,world!hello,world!hello,world!hello,world!引用永远只跟昨天的自己比较分割线图片![截图](C:\Users\Lenovo\Pictures\CameraRoll\v2-01888c7057bbf722bc664de16d68ac0f_720w.webp)超链接点击跳转到列表A[1.]+[空格]BC​......
  • 学习STM32的LED点阵显示
    学习STM32的LED点阵显示内容需要涉及到几个方面:硬件准备、软件工具、基本原理以及代码实例。下面我将详细介绍每个方面的内容。一、硬件准备选择合适的开发板:根据自己的需求和预算选择一款适合的开发板。常见的STM32开发板有STM32F103系列、STM32F407系列等。连接LED点阵:将LE......
  • 学习STM32的人体活动传感器
    人体活动传感器(HumanActivitySensor)是一种用于检测和测量人体活动的设备。它可以通过监测人体的运动、姿势和生理变化来识别和分析人体的活动状态。在STM32学习中,我们可以使用不同的传感器,如加速度计、陀螺仪和心率传感器来实现人体活动的监测和分析。本文将详细介绍如何使用......
  • 学习STM32的智能家居安防
    智能家居安防是目前智能家居领域的一个重要应用之一,它利用传感器、设备和网络技术来实现对家居环境和安全的实时监控和控制。在本文中,我们将使用STM32微控制器来实现一个基本的智能家居安防系统。首先,我们需要列出我们的系统需求:温湿度监测:系统需要能够实时监测室内的温度和......
  • 组合数学学习笔记(一)(2024.7.3)
    一、组合数1.递推式$\displaystyle\binom{n}{m}=\displaystyle\binom{n-1}{m-1}+\displaystyle\binom{n-1}{m}$证:左边相当于从$n$个数中选$m$个数,右边枚举第$n$个数选不选。如果选,就从剩下$n-1$个数中选$m-1$个;如果不选,就从剩下$n-1$个数中选$m$个。2.对称性......
  • 数据结构(Java):反射&枚举&Lambda表达式
    目录1、反射1.1反射的定义1.2 反射机制的原理1.3反射相关类1.4 Class类1.4.1相关方法1.4.1.1 常用获得类相关的方法​编辑1.4.1.2 常用获得类中属性相关的方法 1.4.1.3 获得类中构造器相关的方法  1.4.1.4 获得类中方法相关的方法1.4.2获取Class对象......
  • 树分治、动态树分治学习笔记
    点分治点分治适合处理大规模的树上路径信息问题,选取重心,将当前的树拆分为几颗子树,然后递归子树求解问题,但是今天的重点不在这里边分治与点分治类似,选取一条边,均匀地将树分成两个部分,但是对于一个点有多个儿子时,时间复杂度就会非常大,于是我们可以将其转化,这里有两种方法\(1.\)......