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

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

上一篇博客我们对树有了初步了解与学习,这篇我将初步学习二叉树!!(新年快乐!)

目录

二叉树  

1、定义:

2、特点:

3、基本形态:

4、二叉树的种类:

(1)满二叉树

(2)完全二叉树 (效率高)

(3)斜树

5、二叉树的性质:

 6、二叉树的存储:


二叉树  

1、定义:

二叉树是每个节点最多有两个子树的树结构。二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。

2、特点:

(1)每个结点最多有两棵子树(二叉树不存咋大于2的结点)。

(2)二叉树的子树有左右顺序之分,其子树的次序不能颠倒

(3)即使树中的某结点只有一棵子树,也要区分它是左子树还是右子树。

3、基本形态:

(1)空二叉树;

(2)只有一个根结点;

(3)根结点只有左子树;

(4)根结点只有右子树;

(5)根结点既有左子树又有右子树。

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

4、二叉树的种类:

(1)满二叉树

定义:一个二叉树每个层的结点数都达到了最大值。

【即如果一个二叉树的层数为n,则结点总数是(2^k)-1】

满二叉树是一种特殊的完全二叉树!!

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

特点:

a.叶子只能出现在最下一层。出现在其他层就不可能达到平衡。

b.非叶子结点的度一定为2。

c.在同样深度的二叉树中,满二叉树的结点个数最多,叶子树最多。

(2)完全二叉树 (效率高)

定义:一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。

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

特点:

a.叶子结点只能出现在最下两层。

b.最下层的叶子一定集中在左部连续位置。

c.倒数第二层,如果有叶子结点,一定都在右部连续位置。

d.如果结点度为1,则该结点只有左孩子,即不存在只有右子树的情况。

e.同样结点数的二叉树,完全二叉树的深度最小。

(3)斜树

向哪边斜就叫啥斜树!!

左斜树:所有的结点都只有左子树的二叉树。

右斜树:所有的结点都只有右子树的二叉树。

5、二叉树的性质:

(1)

若规定根结点的层数为1,则一棵非空二叉树的第i层上最多有2^(i-1)  (i>0)个结点。

(2)

若规定只有根结点的二叉树的深度为1,则深度为k的二叉树的最大结点数是2^k-1 (k>=1)。

(3)

对任何一棵二叉树,如果其叶结点个数为n0,度为2的非叶结点个数为n2,则有n0=n2+1

(4)

具有n个结点的完全二叉树的深度k为[log2n]+1上取整。([x]表示不大于x的最大整数)

(5)

对于具有n个结点的完全二叉树,如果按照从上至下从左至右的顺序对所有结点从0开始编号,对于序号为i的结点有:
若i>0,双亲序号:(i-1)/2; i=0,i为根结点编号, 无双亲结点。
若2i+1<n,左孩子序号:2i+1,否则无左孩子。
若2i+2<n,右孩子序号:2i+2,否则无右孩子。

 6、二叉树的存储:

二叉树的存储结构分为顺序存储和类似于链表的链式存储

链式存储:

//孩子表示法

class Node6 
{
    int val;     //数据域
    Node6 left;  //左孩子的引用,常常代表左孩子为根的整棵左子树
    Node6 right; //右孩子的引用,常常代表右孩子为根的整棵右子树
}

//孩子双亲表示法public class Node7 

{
    int val;      //数据域
    Node7 left;   //左孩子的引用,常常代表左孩子为根的整棵左子树
    Node7 right;  //右孩子的引用,常常代表右孩子为根的整棵右子树
    Node7 parent; //当前结点的根结点
}

今天的学习就到这了,下篇博客咱继续!!文章来源地址https://www.toymoban.com/news/detail-826623.html

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

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

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

相关文章

  • 探索树形数据结构,通识树、森林与二叉树的基础知识(专有名词),进一步利用顺序表和链表表示、遍历和线索树形结构

      结点之间有分支,具有层次关系 树的定义 : 树 (tree)是n(n≥0)个有限集。 若n = 0,则称为空树; 若n 0,则它满足如下两个条件: 有且仅有一个特定的称为根(Root)的结点; 其余结点可分为m(m≥0)个互不相交的有限集T1,T2,T3,.....,Tm,其中每一个集合本身又是一棵树,并称为根的

    2024年02月01日
    浏览(30)
  • 【数据结构与算法】二叉树的知识讲解

    目录  一,二叉树的结构深入认识  二,二叉树的遍历  三,二叉树的基本运算 3-1,计算二叉树的大小 3-2,统计二叉树叶子结点个数 3-3,计算第k层的节点个数 3-4,查找指定值的结点         二叉树是不可随机访问的,二叉树的结构是通过双亲结点与孩子结点之间的连接进

    2024年02月08日
    浏览(29)
  • 【数据结构】二叉树基础

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

    2024年02月09日
    浏览(33)
  • 【数据结构】二叉树基础入门

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

    2024年02月09日
    浏览(29)
  • 【数据结构】二叉树基础OJ

    目录 1. 单值二叉树 2. 检查两颗树是否相同 3. 对称二叉树 4. 二叉树的前序遍历 5. 二叉树的中序遍历 6. 二叉树的后序遍历 7. 另一颗树的子树 8. 二叉树的结构及遍历 世界上没有不劳而获的东西! 链接 :力扣 代码1 : 思想 :(1)【左孩子的返回值是否相等+右孩子的返回值是

    2024年02月16日
    浏览(31)
  • 数据结构——二叉树基础结构篇(C语言)

    现在是北京时间2023年6月13日9点11分。从决定要开始减脂之后,饥饿总是伴随着我。一觉起来肚子咕咕叫,我还是想先把文章发了再吃第一餐。燕麦加蛋白粉几乎伴随了我大学的第一年早饭。昨天练了一个小时背,练背后还做了45分钟有氧。空腹训练没有影响我的训练状态。这

    2024年02月08日
    浏览(27)
  • 点亮你的数据结构知识:通晓二叉树是必须的

    树是一种非线性的数据结构,他是一种以树形结构进行组织的数据结构,它由一组节点和连接这些节点的边构成。树最顶部的节点称为根节点,每个非根节点都有且仅有一个父节点,但可以有多个子节点。每个节点的子节点可以有任意个数, 树的相关概念 概念:树+人类亲缘关

    2024年02月06日
    浏览(25)
  • 数据结构——lesson6二叉树基础

    hellohello~这里是土土数据结构学习笔记🥳🥳 💥个人主页:大耳朵土土垚的博客 💥 所属专栏:数据结构学习笔记 💥对于数据结构顺序表链表有疑问的都可以在上面数据结构的专栏进行学习哦~感谢大家的观看与支持🌹🌹🌹 有问题可以写在评论区或者私信我哦~ 前面我们已

    2024年03月10日
    浏览(60)
  • 数据结构--基础知识

    数据结构是计算机科学中研究数据组织、存储和管理的方法和原则。它涉及存储和操作数据的方式,以便能够高效地使用和访问数据。 数组(Array):数组是一种线性数据结构,由相同类型的元素按顺序排列而成。数组具有固定长度,在内存中占据连续的位置。可以通过索引

    2024年02月14日
    浏览(30)
  • 数据结构|基础知识定义

    1.值传递、地址传递、值返回、地址返回 1 值传递 :普通变量作为函数参数传递是单向的值传递,只是将实参的值复制一份给形参变量,形参的改变不会影响实参的值,因为所在内存空间不同 如果传递的是地址,被调函数使用指针接收,如果在被调函数中,没有更改指针指向

    2024年02月08日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包