首页 > 其他分享 >数据结构:树

数据结构:树

时间:2024-12-04 13:33:32浏览次数:5  
标签:node 遍历 右子 null key 数据结构 节点

树的基本定义:

是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做 “树” 是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:

  • 每个节点有零个或多个子节点;
  • 没有父节点的节点称为根节点;
  • 每一个非根节点有且只有一个父节点;
  • 除了根节点外,每个子节点可以分为多个不相交的子树;

树的相关术语:

节点的度:

一个节点含有的子树的个数称为该节点的度;

叶节点:

度为0的节点称为叶节点,也可以叫做终端节点

分支节点:

度不为0的节点称为分支节点,也可以叫做非终端节点,显然除了叶子节点之外的节点都为分支节点。

节点的层次:

节点的层次为从节点到根节点的路径中边的条数,并且认为根节点的层次为0,因为根节点到自身的路径中边的条数为0

树的度:

树中所有节点的度的最大值

树的高度(深度):

结点的深度指从根节点(度为1)自顶向下逐层累加至该结点时的深度。树的深度是树中深度最大的结点的深度。

如下图,该树的深度为5

标签:node,遍历,右子,null,key,数据结构,节点
From: https://blog.csdn.net/Tomkruse11/article/details/144133981

相关文章

  • 数据结构与算法-04二叉树-01
    初识二叉树(Binary)树结构树是由n(n≥0)个结点组成的有限集合。当n=0时,称为空树;当n>0时,有一个特殊的节点称为根结点(root),它没有前驱结点;其它结点分为m棵互不相交的子树。什么是二叉树?二叉树是一种最典型的非线性结构,除叶节点外每个节点最多连接两个子节点......
  • 数据结构之算法复杂度(超详解)
    文章目录1.算法复杂度1.1数据结构1.2算法1.3二者的重要性2.算法效率开胃小菜:复杂度概念3.时间复杂度3.1大O表示法3.2时间复杂度示例练习例1例2例3例4例5例6例74.空间复杂度4.1空间复杂度示例练习例1例25.开胃小菜扩展5.1思路2:采用空间换时间的方法......
  • 数据结构---顺序表
    1.顺序表的尾插2.顺序表的头插3.顺序表的尾删4.顺序表的头删5.顺序表的查找6.指定位置插入数据7.指定位置删除数据1.顺序表的尾插在写代码之前,我们先来了解一下顺序表的结构:#include<stdio.h>typedefintSLDataType;//把int类型重命名为SLDataTypetypedefstruct......
  • 【数据结构】 字典树trie详解
    定义:将多个字符串以树的方式存储即为字典树,如图,\(1,4,3,12\)表示\(cca\),我么用\(ch[i][j]\)来表示第\(i\)个节点的\(j\)字符所指向的下一个节点,\(tag[u]\)表示节点\(u\)是否代表一个字符串的结尾,如果是的话,\(tag[u]=1\)。模板CODE添加字符串//n表示即将要向字典......
  • 数据结构与算法
    一、引言数据结构与算法是计算机科学中的基础概念,它们相互依存,共同构成了计算机程序设计和问题解决的基础。数据结构定义了数据的组织方式,而算法则是解决问题的步骤。选择合适的数据结构可以提高算法的效率,而高效的算法则需要合适的数据结构来支撑。本文将详细介绍数据结构与......
  • 【初阶数据结构与算法】二叉树顺序结构---堆的应用之堆排、Top-K问题
    文章目录一、堆排引入之使用堆排序数组二、真正的堆排1.向上调整算法建堆2.向下调整算法建堆3.向上和向下调整算法建堆时间复杂度比较4.建堆后的排序4.堆排序和冒泡排序时间复杂度以及性能比较三、Top-K问题一、堆排引入之使用堆排序数组   在了解真正的堆排之......
  • 【数据结构】LinkedList与链表
    LinkedList与链表1.ArrayList的缺陷2.链表2.1链表的概念及结构2.2链表的实现3.链表面试题【本节目标】ArrayList的缺陷链表链表相关ojLinkedList的模拟实现LinkedList的使用ArrayList和LinkedList的区别1.ArrayList的缺陷上节课已经熟悉了ArrayList的使用,......
  • 蓝桥杯c++算法秒杀【7】之数据结构(修改数组、翻转括号序列、双向排序:::非常典型的必刷例
    别忘了请点个赞+收藏+关注支持一下博主喵!!!! ! !  关注博主,更多蓝桥杯nice题目静待更新:)  数据结构一、修改数组【问题描述】        给定一个长度为N的数组A=[A1,A2,...,AN],数组中有可能有重复出现的整数。        现在小明要按以下方法将其......
  • 数据结构:顺序表
    1.顺序表的组成。 1.静态顺序表(固定的元素大小)静态顺序表的组成如下图代码所示,由一个数组和其大小组成。数组长度固定,size是有效位数。typedefstructcl{ intarr[10]; intsize; }cl;2.动态顺序表(元素随时可以增加)动态顺序表的组成代码由下图:typedefstructcl{......
  • 数据结构实训——查找
    声明: 以下是我们学校在学习数据结构时进行的实训,如涉及侵权马上删除文章声明:本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。一、实训类型  验证性实训二、实训目的与任务1.掌......