【从零开始学习数据结构 | 第一篇】树

这篇具有很好参考价值的文章主要介绍了【从零开始学习数据结构 | 第一篇】树。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言: 

树:

树结点之间的关系描述:

 树的常见属性:

森林:

​编辑树的性质:

总结:


前言: 

当谈论数据结构时,树(Tree)是一种极为重要且常用的数据结构之一。树的概念源自现实生活中的树木,它具有分层结构,由节点(Node)边(Edge)组成,形成了一种类似于自然界树木生长的结构。在计算机科学领域,树被广泛运用于各种算法和数据存储场景中,如文件系统、数据库索引、编译器等。

【从零开始学习数据结构 | 第一篇】树,【从零开始学习数据结构】,学习,树 

树:

他的结构就和我们真实的树看起来一样。如下图所示:

【从零开始学习数据结构 | 第一篇】树,【从零开始学习数据结构】,学习,树

这种数据结构,任何节点都有且只有一个前驱。任何一个树都可以看作是由一个根节点以及部分子树构成的。

【从零开始学习数据结构 | 第一篇】树,【从零开始学习数据结构】,学习,树

树结点之间的关系描述:

  1. 父子关系:树中每个节点(除了根节点)都有一个父节点,父节点指向其子节点,子节点是父节点的直接下级

  2. 兄弟关系:具有同一个父节点的节点之间称为兄弟节点,它们在同一层级上。

  3. 祖先和后代关系:一个节点的所有父节点以及这些父节点的父节点等都被称为该节点的祖先;而一个节点的所有子节点以及这些子节点的子节点等都被称为该节点的后代。

  4. 叶子节点和内部节点没有子节点的节点称为叶子节点,而至少有一个子节点的节点称为内部节点

 树的常见属性:

  1. 结点的层次(深度)——从上往下数
  2. 结点的高度——从下往上数
  3. 树的高度——总共多少层
  4. 结点的度——节点一共有几个子节点
  5. 树的度——各个节点之中度的最大值

有序树:从逻辑上看:树中结点的各个子树从左至右是有次序的,不能互换

无序树:从逻辑上看,树中结点的各个子树从左至右是无次序的,可以互换

森林:

森林就是多颗互不相交的树的集合

树的性质:

1.结点树=总度数+1

【从零开始学习数据结构 | 第一篇】树,【从零开始学习数据结构】,学习,树

总度数=7,加上1之后等于节点数8。

2.度为m的树与m叉树的区别

度为m的树 m叉树
任意结点的度m(最多有m个子节点) 任意结点的度m
至少有一个结点度=m 允许所有结点的度都<m
一定是非空树,至少有m+1个结点 可以是空树

度为m的树:各节点的度的最大值为m

m叉树:每个节点最多只能有m个子节点的树 

3.度为m的树第i层最多有个节点(i1)

【从零开始学习数据结构 | 第一篇】树,【从零开始学习数据结构】,学习,树

4.高度为h的m叉树最多有 个节点,最少有h个节点

【从零开始学习数据结构 | 第一篇】树,【从零开始学习数据结构】,学习,树

5.高度为h,度为m的树至少有h+m-1个节点。

【从零开始学习数据结构 | 第一篇】树,【从零开始学习数据结构】,学习,树 6.具有n个节点的m叉树的最小高度为【从零开始学习数据结构 | 第一篇】树,【从零开始学习数据结构】,学习,树

这其实是用数学推过来的,大家感兴趣的话可以自己推一下。 

总结:

本文我们介绍了一下树以及树的常见性质,下文我们讲深入学习树中一个比较重要的部分:二叉树。

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!

【从零开始学习数据结构 | 第一篇】树,【从零开始学习数据结构】,学习,树文章来源地址https://www.toymoban.com/news/detail-853235.html

到了这里,关于【从零开始学习数据结构 | 第一篇】树的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据结构入门篇:第一篇

    🤔首先,为什么要学数据结构? 数据结构的 概念 :在内存中对数据进行管理; 数据结构的学习能让我们在处理大量数据时提高处理效率,即让我们在不同的场景下更快的处理大量数据; 🤔算法和数据结构有什么关系? 算法 就是处理数据的一种方法; 数据结构是为算法服

    2023年04月18日
    浏览(52)
  • [数据结构 -- 手撕排序第一篇] 插入排序

    目录 1、常见的排序算法 2、插入排序的思路 2.1 基本思想 2.2 直接插入排序 2.2.1 单趟排序的思路 2.2.2 单趟排序代码实现 3、插入排序代码 4、插入排序+打印测试 5、插入排序的时间复杂度 5.1 最坏情况 5.2 最好情况 6、直接插入排序的特性总结   直接插入排序是一种简单的插入

    2024年02月12日
    浏览(53)
  • 【夜深人静学数据结构与算法 | 第一篇】KMP算法

    目录  前言:  KMP算法简介: 引入概念: 前缀后缀 前缀表: 简单例子: 暴力遍历: KMP算法:​  KMP算法难点: 总结: 本篇我们将详细的从理论层面介绍一下什么是KMP算法,相对应的力扣刷题专栏里也会有相对应的习题,欢迎各位前往阅读。           KMP算法是一种字符

    2024年02月08日
    浏览(66)
  • 【从零开始拿捏数据结构】 顺序表是什么?它有什么样的特性?结构到底是什么样的?

    🎥 屿小夏 : 个人主页 🔥个人专栏 : 数据结构解析 🌄 莫道桑榆晚,为霞尚满天! ​ 什么是数据结构?我们为什么要学数据结构?数据结构中的顺序表长什么样子?它是怎么运用? ​ 本期我们将对这些一一讲解,彻底明白数据结构的重要性,以及顺序表是一种什么的数据

    2024年02月08日
    浏览(102)
  • 从零开始学数据结构和算法:腾讯Android开发面试记录,已开源_android 开发面试算法

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新Android移动开发全套学习资

    2024年04月25日
    浏览(52)
  • Android开发UI新技能,你get这个新技能了吗?(附源码详解),从零开始学数据结构和算法

    2. 文本输入框 val state = +state { “Text Field to input” } TextField( value = state.value, onValueChange = { state.value = it } ) 3. 按钮 Button(text = “咬我啊”, onClick = { Log.v(“test”, “被咬了”) }) 4.弹出框 MaterialTheme { Column { val openDialog = +state { false } Button(“Click me”, onClick = { openDialog.value = true

    2024年04月12日
    浏览(37)
  • 【从零开始学习JAVA | 第三十一篇】异常体系介绍

            本文我们将为大家介绍一下异常的整个体系,而我们学习异常,不是为了敲代码的时候不出异常,而是为了能够熟练的处理异常,如何解决代码中的异常。  我们就以这张图作为线索来详细介绍一下Java中的异常: 在Java中, Exception(异常)是一种表示非致命错误或异

    2024年02月15日
    浏览(85)
  • 从零起步:学习数据结构的完整路径

    🎉欢迎来到数据结构学习专栏~从零起步:学习数据结构的完整路径 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:Java学习路线 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 🍹文章作者技术和水平有限,如果文中出

    2024年02月11日
    浏览(48)
  • 【从零开始学JVM】第一章_JVM和java体系结构

    Java是一门跨平台的语言 Java 语言的特点包括: 跨平台性 :Java 程序可以在不同操作系统上运行,只需安装对应平台的 Java 虚拟机(JVM)即可。 面向对象 :Java 是一种纯粹的面向对象编程语言,支持封装、继承、多态等面向对象特性。 健壮性 :Java 在设计时考虑了许多安全检

    2024年02月20日
    浏览(33)
  • 【从零开始学习C++ | 第二十一篇】C++新增特性 (上)

    目录  前言: 委托构造函数: 类内初始化: 空指针: 枚举类: 总结:         C++的学习难度大,内容繁多。因此我们要及时掌握C++的各种特性,因此我们更新本篇文章,向大家介绍C++的新增特性。 委托构造函数是指一 个类的构造函数调用另一个类的构造函数,以减少代

    2024年02月13日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包