【数据结构】二叉树基础入门

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

【数据结构】二叉树基础入门,数据结构与算法,数据结构

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤
📃个人主页 :阿然成长日记 👈点击可跳转
📆 个人专栏: 🔹数据结构与算法🔹C语言进阶
🚩 不能则学,不知则问,耻于问人,决无长进
🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍

一、二叉树的概念

一棵二叉树是结点的一个有限集合,该集合:

  1. 或者为空
  2. 由一个根节点加上两棵别称为左子树和右子树的二叉树组成
    如下图:【数据结构】二叉树基础入门,数据结构与算法,数据结构

二、二叉树的特点

1.二叉树的度最大为2.即一个节点最多有两个孩子。
2.二叉树可以只有一个根节点,度为0.
3.二叉树的子树有左右之分,是一个有序树。

三、特殊的二叉树

1.满二叉树:

一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。

【数据结构】二叉树基础入门,数据结构与算法,数据结构
特点:一个H层的满二叉树,其节点数=2^H-1

2.完全二叉树:

1.在完全二叉树中,除了最后一层外,所有层的节点数量都是满的,且最后一层的节点都集中在左侧。
2.如果一个结点的索引是 i,则它的左子节点的索引是 2i,右子节点的索引是 2i+1。反之,如果一个节点的索引是 i,则它的父节点的索引是 i/2。

满二叉树是一种特殊的完全二叉树。
【数据结构】二叉树基础入门,数据结构与算法,数据结构
特点:
1)相对于其他类型的二叉树,它更容易实现和操作。
2)具有 n 个节点的完全二叉树的高度为 log(n)。
3)在完全二叉树中,除了最后一层可能不满外,其他层都是满的。

最少:2^(H-1)-1+1 = 2^(H-1)
最多:相当于满二叉树:2^H-1
一个H层的完全二叉树,其节点数范围[2^(H-1)~2^H-1]
【数据结构】二叉树基础入门,数据结构与算法,数据结构

四、二叉树的存储

1.数组存储:

这种存储方式适用于完全和满二叉树。还有
【数据结构】二叉树基础入门,数据结构与算法,数据结构
计算:
给定双亲节点,求
左孩子=双亲节点*2+1
右孩子=双亲节点*2+2
给定孩子节点,求
双亲节点=(孩子节点-1)/2

2.链式存储

对于普通二叉树来说,不适合顺序存储方式,因为有可能在补充为完全二叉树过程中,补充太多的0,而浪费大量空间,因此普通二叉树一般使用链式存储。

每一个节点的组成如下图所示
【数据结构】二叉树基础入门,数据结构与算法,数据结构
【数据结构】二叉树基础入门,数据结构与算法,数据结构
具体结构如下图所示:
【数据结构】二叉树基础入门,数据结构与算法,数据结构文章来源地址https://www.toymoban.com/news/detail-706193.html

到了这里,关于【数据结构】二叉树基础入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【数据结构入门指南】二叉树

    【数据结构入门指南】二叉树

    二叉树是一棵特殊的树。一棵二叉树是结点的一个有限集合,该节点: ①:或者为空。 ②: 由一个根节点加上两棵别称为左子树和右子树的二叉树组成。 从上图可以看出: 二叉树不存在度大于2的结点. 二叉树的子树有左右之分,次序不能颠倒,因此二叉树是有序树。 Tip

    2024年02月11日
    浏览(8)
  • 数据结构入门指南:二叉树

    数据结构入门指南:二叉树

    目录 文章目录 前言  1. 树的概念及结构    1.1 树的概念  1.2 树的基础概念 1.3 树的表示 1.4 树的应用  2. 二叉树 2.1 二叉树的概念  2.2 二叉树的遍历         在计算机科学中,数据结构是解决问题的关键。而二叉树作为最基本、最常用的数据结构之一,不仅在算法和数据

    2024年02月12日
    浏览(9)
  • 【数据结构与算法】—— 二叉树

    【数据结构与算法】—— 二叉树

    目录 一、树 1、初识树 2、树的一些概念 3、树的表示形式 二、二叉树 1、初识二叉树 2、两种特殊的二叉树 3、二叉树的性质  4、二叉树的遍历 5、实现一棵二叉树  6、二叉树题目(没代码的后面会给补上) (1)根节点没有前驱。 (2)子树的根节点只有一个前驱,可以有

    2024年04月09日
    浏览(11)
  • 数据结构与算法-二叉树

            在计算机科学中,数据结构是组织和存储数据的基础框架,而算法则是处理这些数据的核心逻辑。在这众多的数据结构中,二叉树因其独特的层级结构、高效的搜索和插入操作,成为广泛应用的一种非线性数据结构。本文将深入探讨二叉树的定义、种类、操作方法

    2024年03月10日
    浏览(12)
  • 【数据结构】二叉树基础

    【数据结构】二叉树基础

    💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃 个人主页 :阿然成长日记 👈点击可跳转 📆 个人专栏: 🔹数据结构与算法🔹C语言进阶 🚩 不能则学,不知则问,耻于问人,决无长进 🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍 把它叫做树是因为它

    2024年02月09日
    浏览(15)
  • 数据结构入门 — 二叉树的概念、性质及结构

    数据结构入门 — 二叉树的概念、性质及结构

    本文属于数据结构专栏文章,适合数据结构入门者学习,涵盖数据结构基础的知识和内容体系,文章在介绍数据结构时会配合上 动图演示 ,方便初学者在学习数据结构时理解和学习,了解数据结构系列专栏点击下方链接。 博客主页:Duck Bro 博客主页 系列专栏:数据结构专栏

    2024年02月07日
    浏览(9)
  • 二叉树(上)——“数据结构与算法”

    二叉树(上)——“数据结构与算法”

    各位CSDN的uu们好呀,好久没有更新我的数据结构与算法专栏啦,今天,小雅兰继续来更新二叉树的内容,下面,让我们进入链式二叉树的世界吧!!! 二叉树链式结构的实现  二叉树链式结构的实现 普通的二叉树的增删查改是没有价值的!!! 只有搜索二叉树的增删查改才

    2024年02月15日
    浏览(10)
  • 数据结构入门(C语言版)二叉树概念及结构(入门)

    数据结构入门(C语言版)二叉树概念及结构(入门)

    1.1 树的概念 树是一种非线性的数据结构,它是由n(n=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 ☆有一个特殊的结点,称为根结点,根节点没有前驱结点 ☆除根节点外,其余结点被分成M

    2023年04月14日
    浏览(13)
  • 数据结构~二叉树(基础知识)

    数据结构~二叉树(基础知识)

    上一篇博客我们对树有了初步了解与学习,这篇我将初步学习二叉树!!(新年快乐!) 目录 二叉树   1、定义: 2、特点: 3、基本形态: 4、二叉树的种类: (1)满二叉树 (2)完全二叉树 (效率高) (3)斜树 5、二叉树的性质:  6、二叉树的存储: 1、定义: 二叉树

    2024年02月19日
    浏览(15)
  • 【数据结构】树与二叉树(十三):递归复制二叉树(算法CopyTree)

    【数据结构】树与二叉树(十三):递归复制二叉树(算法CopyTree)

      二叉树是一种常见的树状数据结构,它由结点的有限集合组成。一个二叉树要么是 空集 ,被称为 空二叉树 ,要么由一个根结点和两棵不相交的子树组成,分别称为 左子树 和 右子树 。每个结点最多有两个子结点,分别称为左子结点和右子结点。 引理5.1:二叉树中层数

    2024年02月01日
    浏览(11)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包