安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

C语言数据结构什么是树?什么是二叉树?

8月12日 拭朱砂投稿
  在二叉树之前的数据结构学习中,我们学习了顺序表、链表、栈、队列这几种结构,它们都是用链表或者数组的方式来实现的,主要考察我们对结构体的运用!
  今天让我们来学习一个新的数据结构,也就是下面这副图里面的树
  啊不好意思,图拿错了!????
  是下面这个才对
  1。什么是树?1。1树的概念
  树是一种非线性的数据结构,它是由n个有限节点组成的具有一定层次关系的集合。
  把它叫做树是因为它看起来的确像一个树的根部
  当然也可以理解为是树干在上,树叶在下的结构
  有一个特殊的节点,被称为根节点,也就是树的开头
  除了根节点外,其余节点都是,个互不相交的集合。每一个集合都是一颗与树的结构类似的子树
  每一个节点只能有一个前驱,但是可以有很多个后驱
  因此,树是递归定义的
  树中的子节点不能有交集
  上图中的B节点不能有G这个孩子,因为G已经有父母C了
  同理,G节点也不能同时拥有两对父母
  子节点之间也不能相连,如E和F不能相连1。2树的相关知识点
  节点的度:一个节点含有的子树的个数称为该节点的度;如下图:A的度为6
  叶节点或终端节点:度为0的节点称为叶节点;图中B、C、H、I等节点为叶节点
  非终端节点或分支节点:度不为0的节点;如上图中D、E、F、G等节点为分支节点
  简单的说,就是有娃的节点就是分支节点
  双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;如上图,D是H的父节点
  孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点;如上图:H是D的孩子节点
  兄弟节点:具有相同父节点的节点互称为兄弟节点;如下图:P、Q是兄弟节点
  树的度:一棵树中,最大的节点的度称为树的度;示例中树的度为6(即A的度)
  节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推
  树的高度或深度:树中节点的最大层次;示例中树的高度为4
  堂兄弟节点:双亲在同一层的节点互为堂兄弟;如下图:H、I互为兄弟节点
  节点的祖先:从根到该节点所经分支上的所有节点;示例中A是所有节点的祖先
  子孙:以某节点为根的子树中任一节点都称为该节点的子孙。示例中所有节点都是A的子孙
  森林:由m(m0)棵互不相交的树的集合称为森林
  多个不相交的树就是森林
  1。3树的代码表示
  表示树的方式有很多种,比如下面这种defineN5指定树的度为5structTreeNode{structTreeNodesubs〔N〕;用指针数组存放孩子节点的指针};
  但这种方法不够优,给大家展示一个用的最广泛的方法孩子兄弟表示法typedefintDataTstructNode{structNodefirstChild1;第一个孩子结点structNodepNextB指向其下一个兄弟结点DataT结点中的数据域};
  通过这种方法,父亲节点只需要保存它的第一个娃,其他娃就让大娃的兄弟节点来找
  也就是家长只用管老大,老大管老二,老二管老三,依次往下
  实际写代码的结构大概是下图这样
  2。二叉树
  在实际中,二叉树是使用较多的一种树的结构2。1概念
  二叉树是度为2的树,它是一个特殊的树
  二叉树不存在度大于2的节点
  二叉树是有序树,它的娃(子树)有左右之分,次序不能颠倒
  所以,二叉树都是由下面各类节点组成的树
  2。2特殊的二叉树
  满二叉树:如果每一个层的节点数都达到最大值,那这个二叉树就是满二叉树。也就是说:满二叉树的层数为k,且节点总数是2k1
  满二叉树的节点数是一个等比数列公式
  202122。。。2k11(12k)(12)2k1202122。。。2{k1}1(12k)(12)2k1202122。。。2k11(12k)(12)2k1
  完全二叉树:完全二叉树是效率很高的数据结构。对于深度为K,有n个节点的二叉树,当且仅当每一个节点都与深度为K的满二叉树中编号从1至n的节点一一对应时,称为完全二叉树。
  简单说来,完全二叉树的最后一层不一定满,但必须要从左到右连续
  满二叉树是一个特殊的完全二叉树2。3二叉树的性质
  若规定根节点的层数为1,则一棵非空二叉树的第i层上最多有2(i1)个结点
  若规定根节点的层数为1,则深度为h的二叉树的最大结点数是2h1
  对任何一棵二叉树,如果度为0其叶结点个数为n0,度为2的分支结点个数为n2,则有n0n21
  若规定根节点的层数为1,具有n个结点的满二叉树的深度,hlog2(n1)。(ps:是log以2为底,n1为对数)
  对于具有n个结点的完全二叉树,如果按照从上至下从左至右的数组顺序对所有节点从0开始编号,则对于序号为i的结点有:
  若i0,i位置节点的双亲序号:(i1)2;i0,i为根节点编号,无双亲节点
  若2i1n否则无左孩子
  若2i2n否则无右孩子
  2。4几个选择题
  1。某二叉树共有399个结点,其中有199个度为2的结点,则该二叉树中的叶子结点数为()
  A不存在这样的二叉树
  B200
  C198
  D199
  叶子节点的数量总比度为2的节点多1
  2。在具有2n个结点的完全二叉树中,叶子结点个数为()
  An
  Bn1
  Cn1
  Dn2
  N0N1N22n
  2N0N112n
  N1只有0和1两种可能,因为n为整数,2n为偶数,所以2N02n,N0n
  3。一棵完全二叉树的节点数位为531个,那么这棵树的高度为()
  A11
  B10
  C8
  D12
  假设高度是h
  完全二叉树节点最多2h1
  最少2(h1)11
  可以通过这两个公式,推断出h10
  3。二叉树的存储结构
  二叉树一般可以使用两种结构存储,一种顺序结构,一种链式结构3。1顺序存储
  顺序结构存储就是使用数组来存储
  一般使用数组只适合表示完全二叉树,因为不是完全二叉树会有空间的浪费。
  现实使用中只有堆才会使用数组来存储
  下一篇博客会带大家认识堆这个特殊的树形结构(和内存里面那个堆????没啥关系哈)
  看到这张图,你肯定想问,如果用数组结构存储,那还怎么还原出一颗树????呢?
  这里我们需要理解物理存储和逻辑结构的关系
  二叉树顺序存储在物理上是一个数组,在逻辑上是一颗二叉树
  那怎么计算这种情况下的父亲和娃呢?
  leftchildparent21
  rightchildparent22
  parent(child1)2
  怎么样,是不是忽然感觉妙级了?
  3。2链式存储
  这就就没啥好说的啦,使用一个简单的二叉链就能构成二叉树typedefintBTDataT二叉链structBinaryTreeNode{structBinTreeNodepL指向当前节点左孩子structBinTreeNodepR指向当前节点右孩子BTDataT当前节点的值}结语
  嘿嘿嘿,本篇博客到这里就结束啦!
  著作权归作者所有:来自51CTO博客作者慕雪年华的原创作品,原文链接:https:blog。51cto。comu153070095202047,侵删
  写在最后:另外,对于准备学习CC编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!
  编程学习书籍分享:
  编程学习视频分享:
  整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)
  欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
  对于CC感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些CC的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!
投诉 评论 转载

牛奶当水饮用,会增加死亡风险?关于牛奶5个真相,喝之前看一看要说最佳的钙来源,牛奶以及奶制品是最好的选择。虽说比起虾皮、芝麻酱而言,牛奶中的钙含量并没有多大突出,但虾皮、芝麻酱含钙量是不低,但高盐高脂还是不宜常吃。而牛奶可不……陈蒲能力被高估了!连续在泰山队首发出战,却至今没有斩获进球山东泰山队在新赛季中超联赛整体表现不错,球队仅仅输了一场球,其余四场比赛都赢了。所以,山东球迷对于泰山队在联赛的发挥就非常认可。只是球迷给予厚望的前锋陈蒲,一直没有在比赛中拿出……哲哥话赛车2022年F1加拿大大奖赛90后语文老师,文字创作爱好者爱诗词,爱红楼,爱中国文化文学理论的爱好者,中国美学的追随者F1骨灰级车迷,莱科宁铁杆粉丝微信公众号:听优秀学长讲文史哲……C语言数据结构什么是树?什么是二叉树?在二叉树之前的数据结构学习中,我们学习了顺序表、链表、栈、队列这几种结构,它们都是用链表或者数组的方式来实现的,主要考察我们对结构体的运用!今天让我们来学习一个新的数据结……为什么晚上不能开钟点房?听说还有钟点房的故事?保洁阿姨惊呆了在古代,好一段路,就需要休息,他们通常会找一间客栈,住下来。古代的客栈虽然很简单,只有几平米的房间,房间里备用了一个洗脸盆,一个热水壶,其他的就只有一张床了。但是客……警训当如吴亦凡,恋爱当如鹿晗,品行当如刘德华,爱国当如王嘉尔近日,王嘉尔的20222023年MAGICMAN世界巡回演唱会在英国伦敦举行,在当晚表演间隙,王嘉尔用英语公开发表爱国言论,怒斥外媒造谣抹黑中国的虚假报道。现场他义正言辞,表示……金圣叹到底有没有说花生米与豆腐干同嚼,有牛肉滋味?笔者年少时,极其吃不惯豆制品。而家乡旧俗,年夜饭惯例有一盘豆腐,寓意都福,是所有人都必须至少吃上一口的。不得已,只好轻咬一口,不经咀嚼,囫囵吞下。后来不记得在哪部闲书上,……2022年社交无战事微信坐稳霸主,10款大厂应用悄然消失本文来源:时代财经作者:谢斯临图片来源:Pixabay12月12日,内容兴趣社区识区正式宣告停运。这是字节跳动旗下,年内第4款下架停运的社交应用。识区于今年4……马丁靴彻底过时了!今年流行玛丽珍靴,洋气显高,还有女人味复古风袭来的当下,有很多单品又重新回到了大众视线当中,而对于风格有独到见解的时尚潮人们也开始找寻适合冬日尝试的时髦鞋子。或许在冬天大家选靴子时都会去考虑马丁靴或者是各种时……带动消费超37亿元!这里,又有3000万元消费红包发放来源:央视财经进入12月,广东广州市各大商圈的复工复产工作有序开展,商场、餐饮等场所也逐步恢复营业。为了提振市场信心,广州从8日起向市民发放累计3000万元的消费券,进一……四大黑科技加持,一加新机真正打破安卓四大不可能!网友真硬对于一加11,很多人都在关注它如何去打破安卓四大不可能,毕竟这是自家品牌总裁立下的承诺,如果没有办法兑现估计会引发诸多网友的不满。但是一加11真的做到了,并且每一项完成的都极为……不要再买红米k50了!以下红米机型更适合你众所周知,红米K50非常的有性价比但如果预算没有2000以上,就考虑一下其他机型吧,下面小编就给大家推荐几款高性价比的红米机型呢1。首先小编最推荐的就是红米10XR……
9月造车新势力各家表现哪吒继续领跑,理想汽车王者归来世界足坛现役十大巨星眼睛出现这些症状要警惕!失明可能正在靠近2023手机圈好戏不断!该下手还是做等等党?老司机给出建议身家暴涨至1。2亿元,阿根廷冠军恩佐却英年早婚社交化电子商务,中小型商家电商平台的方向人到中年,才发现,喝茶是件幸事仙女裙平底鞋2022年王炸组合,高级知性有气质,夏天穿很好看负熵,让生命更长久中秋节来临之际泰国南部也拉府勿洞县马来游客络绎不绝寻找水源,收集数据,助力科研,私营公司抢滩登月生力军科技创新20年,日本23岁女摔角手参加真人秀后自杀,涉事男子仅被罚5

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利