当前位置: 首页 > news >正文

数据结构之树和二叉树定义

数据结构之树和二叉树定义

  • 1、树的定义
  • 2、树的基本概念
  • 3、二叉树的定义

  数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从问题出发,分析和研究计算机加工的数据的特性,以便为应用所涉及的数据选择适当的逻辑结构、存储结构及其相应的操作方法,为提高利用计算机解决问题的效率服务。
  数据结构是指数据元素的集合及元素间的相互关系和构造方法。元素之间的相互关系是数据的 逻辑结构,数据元素及元素之间关系的存储称为 存储结构(或物理结构)。数据结构按照逻辑关系的不同分为 线性结构非线性结构两大类,其中,非线性结构又可分为树结构和图结构。
  树结构是一种非常重要的非线性结构,该结构中的一个数据元素可以有两个或两个以上的直接后继元素,树可以用来描述客观世界中广泛存在的层次结构关系。

1、树的定义

  树是 n(n≥0)个结点的有限集合,当 n=0 时称为空树。在任一非空树(n>0)中,有且仅有一个称为根的结点;其余结点可分为 m(m≥0)个互不相交的有限子集 T1,T2,···,Tm,其中,每个 Ti 又都是一棵树,并且称为根结点的子树。
  树的定义是递归的,它表明了树本身的固有特性,也就是一棵树由若干棵子树构成,而子树又由更小的子树构成。
  该定义只给出了树的组成特点,若从数据结构的逻辑关系角度来看,树中元素之间有严格的层次关系。对于树中的某个结点,它最多只和上一层的一个结点(即其双亲结点) 有直接的关系,而与其下一层的多个结点(即其孩子结点)有直接关系,如下图所示。通常,凡是分等级的分类方案都可以用具有严格层次关系的树结构来描述。
在这里插入图片描述

2、树的基本概念

  (1)双亲、孩子和兄弟。结点的子树的根称为该结点的孩子;相应地,该结点称为其子结点的双亲。具有相同双亲的结点互为兄弟。
  (2) 结点的度。一个结点的子树的个数记为该结点的度。例如,上图中,A 的度为 3,B的度为2,C的度为 0,D的度为 1。
  (3) 叶子结点。叶子结点也称为终端结点,指度为0的结点。例如,上图 中,E、F、C、G都是叶子结点。
  (4)内部结点。度不为 0的结点,也称为分支结点或非终端结点。除根结点以外,分支结点也称为内部结点。例如,上图中,B、D 都是内部结点。
  (5)结点的层次。根为第一层,根的孩子为第二层,依此类推,若某结点在第 i 层,则其孩子结点在第 i+1 层。例如,上图 中,A 在第1层,B、C、D在第2层,E、F 和G在第3层。
  (6)树的高度。一棵树的最大层数记为树的高度(或深度)。例如,上图所示树的高度为 3。
  (7)有序(无序)树。若将树中结点的各子树看成是从左到右具有次序的,即不能交换,则称该树为有序树,否则称为无序树。

3、二叉树的定义

  二叉树是 n(n≥0)个结点的有限集合,它或者是空树(n=0),或者是由一个根结点及两棵不相交的且分别称为左、右子树的二叉树所组成。可见,二叉树同样具有递归性质。
  需要特别注意的是,尽管树和二叉树的概念之间有许多联系,但它们是两个不同的概念。树和二叉树之间最主要的区别是:二叉树中结点的子树要区分左子树和右子树,即使在结点只有一棵子树的情况下,也要明确指出该子树是左子树还是右子树。另外,二叉树结点最大度为2,而树中不限制结点的度数,如下图所示。
在这里插入图片描述

http://www.lryc.cn/news/288131.html

相关文章:

  • 大模型学习与实践笔记(十三)
  • 计算机网络——网络层(1)
  • 解释LoRA参数
  • 直播核心岗位基础内容
  • 安全防御第三次作业
  • WordPress反垃圾评论插件Akismet有什么用?如何使用Akismet插件?
  • 力扣80、删除有序数组中的重复项Ⅱ(中等)
  • 探索HTMLx:强大的HTML工具
  • NC65中间件能启动,前端客户端启动失败,加载异常,卡住(org.owasp.esapi)
  • 【大数据】YARN调度器及调度策略
  • 如何快速入门Python指南
  • vue3 页面长时间不使用,再次点击页面切换路由 操作无效报错
  • 【算法练习】leetcode算法题合集之动态规划篇
  • 青少年人工智能实验基地解决方案
  • 10个让你的明星网红推广事半功倍的技巧-华媒舍
  • k8s集群异常恢复
  • NOC总线(2)
  • 2401llvm,clang的libtooling
  • 数据结构—基础知识(13):树的存储结构
  • 【Python爬虫入门到精通】小白也能看懂的知识要点与学习路线
  • 服务器数据恢复—EVA存储raid5硬盘离线的数据恢复案例
  • MAMBA论文疑被拒收,计算机科学顶会评审遭质疑
  • EHS管理系统为何需要物联网的加持?
  • 记事本(父页面与iframe子页面的联通,vue3+ts展示fbx模型,与tga贴图)
  • 【好书推荐-第五期】《互联网大厂推荐算法实战》(异步图书出品)
  • C++ Qt day2
  • Mac上如何设置映射某个网站站点域名的IP
  • 智能分析网关V4智慧冶金工厂视频智能监管方案
  • WebSocket实现HTML+SpringBoot聊天功能,小程序+SpringBoot聊天功能
  • SpringMVC-RESTFul