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

剑阁住房和城乡建设厅网站织梦cms做网站

剑阁住房和城乡建设厅网站,织梦cms做网站,wordpress 客户,临安做企业网站的公司一起加油学数据结构 目录 树的概念以及结构 树的概念 树的相关概念 树的表示 二叉树的概念以及结构 二叉树的概念 特殊的二叉树 二叉树的性质 二叉树的存储结构 树的概念以及结构 树的概念 树是一种非线性的数据结构#xff0c;它是由n#xff08;n0#xff09…一起加油学数据结构 目录 树的概念以及结构 树的概念 树的相关概念 树的表示 二叉树的概念以及结构 二叉树的概念 特殊的二叉树 二叉树的性质 二叉树的存储结构 树的概念以及结构 树的概念 树是一种非线性的数据结构它是由nn0个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树也就是说它是根朝上而叶朝下的。有一个特殊的结点称为根结点根结点没有前驱结点除根结点外其余结点被分成M(M0)个互不相交的集合T1、T2、……、Tm其中每一个集合Ti(1 i m)又是一棵结构与树类似的子树。每棵子树的根结点有且只有一个前驱可以有0个或多个后继因此树是递归定义的。 话不多说看图就知道了 注意树型结构中子弟中不能存在交集  树的相关概念 结点的度一个结点含有的子树的个数称为该结点的度 如上图A的为6叶结点或终端结点度为0的结点称为叶结点 如上图B、C、H、I...等结点为叶结点非终端结点或分支结点度不为0的结点 如上图D、E、F、G...等结点为分支结点双亲结点或父结点若一个结点含有子结点则这个结点称为其子结点的父结点 如上图A是B的父结点孩子结点或子结点一个结点含有的子树的根结点称为该结点的子结点 如上图B是A的孩子结点兄弟结点具有相同父结点的结点互称为兄弟结点 如上图B、C是兄弟结点树的度一棵树中最大的结点的度称为树的度 如上图树的度为6结点的层次从根开始定义起根为第1层根的子结点为第2层以此类推树的高度或深度树中结点的最大层次 如上图树的高度为4堂兄弟结点双亲在同一层的结点互为堂兄弟如上图H、I互为兄弟结点结点的祖先从根到该结点所经分支上的所有结点如上图A是所有结点的祖先子孙以某结点为根的子树中任一结点都称为该结点的子孙。如上图所有结点都是A的子孙森林由mm0棵互不相交的树的集合称为森林 树的表示 既要保存值域也要保存结点和结点之间的关系 typedef int DataType; struct Node { struct Node* firstChild1; // 第一个孩子结点 struct Node* pNextBrother; // 指向其下一个兄弟结点 DataType data; // 结点中的数据域 }; 可以想象一下如果只有孩子没有兄弟的话就是链表了 树在实际应用中可以体现在目录等情况下目录有一级标题二级标题等都可以显示下来了 二叉树的概念以及结构 二叉树的概念 1. 或者为空 2. 由一个根结点加上两棵别称为左子树和右子树的二叉树组成 1. 二叉树不存在度大于2的结点 2. 二叉树的子树有左右之分次序不能颠倒因此二叉树是有序树 二叉树有多种情况 特殊的二叉树 1. 满二叉树一个二叉树如果每一个层的结点数都达到最大值则这个二叉树就是满二叉树。也就是说如果一个二叉树的层数为K且结点总数是 则它就是满二叉树。 2. 完全二叉树完全二叉树是效率很高的数据结构完全二叉树是由满二叉树而引出来的。对于深度为K的有n个结点的二叉树当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。 要注意的是满二叉树是一种特殊的完全二叉树。 二叉树的性质 1. 若规定根结点的层数为1则一棵非空二叉树的第i层上最多有 2^i-1个结点. 2. 若规定根结点的层数为1则深度为h的二叉树的最大结点数是 .2^h-1 3. 对任何一棵二叉树, 如果度为0其叶结点个数为 , 度为n的分支结点个数为 ,则有n n 1 4. 若规定根结点的层数为1具有n个结点的满二叉树的深度h . (ps 是log以2 为底n1为对数) 5. 对于具有n个结点的完全二叉树如果按照从上至下从左至右的数组顺序对所有结点从0开始编号则对于序号为i的结点有 1. 若i0i位置结点的双亲序号(i-1)/2i0i为根结点编号无双亲结点 2. 若2i1n左孩子序号2i12i1n否则无左孩子 3. 若2i2n右孩子序号2i22i2n否则无右孩子 二叉树的存储结构 1. 顺序存储 顺序结构存储就是使用数组来存储一般使用数组只适合表示完全二叉树因为不是完全二叉树会有空间的浪费。而现实中使用中只有堆才会使用数组来存储关于堆我们后面的章节会专门讲解。二叉树顺序存储在物理上是一个数组在逻辑上是一颗二叉树。 2. 链式存储 二叉树的链式存储结构是指用链表来表示一棵二叉树即用链来指示元素的逻辑关系。 通常的方法是链表中每个结点由三个域组成数据域和左右指针域左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址 。链式结构又分为二叉链和三叉链当前我们学习中一般都是二叉链后面课程学到高阶数据结构如红黑树等会用到三叉链。 typedef int BTDataType; // 二叉链 struct BinaryTreeNode { struct BinTreeNode* left; // 指向当前结点左孩子 struct BinTreeNode* right; // 指向当前结点右孩子 BTDataType data; // 当前结点值域 } // 三叉链 struct BinaryTreeNode { struct BinTreeNode* parent; // 指向当前结点的双亲 struct BinTreeNode* left; // 指向当前结点左孩子 struct BinTreeNode* right; // 指向当前结点右孩子 BTDataType data; // 当前结点值域 } 知识需要一点一点消化哦下一篇的代码要多些这篇主要讲知识点哦
http://www.hkea.cn/news/14567820/

相关文章:

  • 乌市高新区建设局网站网页制作用哪个软件
  • 有哪些网站可以卖自己做的图片企业宣传片制作哪家好
  • 泰国如何做网站推广西安知名网站推广
  • 合肥网站建设信息WordPress adsen
  • 建视频网站无锡网站制作哪家好
  • 先做网站还是先注册公司中国都有哪些网站
  • 户外旅游网站排名网站备案 子域名
  • 手机移动端网站sem推广培训
  • 网站可以在外地备案吗重庆网站建设 渝
  • 搞笑网站全站源码学python能干嘛
  • 做网站怎么连数据库龙岗在线网站制作
  • 建设部网站刘赵云惠州网站seo
  • 外文网站建站以及在增加外链时应当注意什么?
  • 韶关网站开发wordpress rce漏洞
  • 建设银行北京分行网站网站建设课程心得
  • 常州做企业网站看广告收益最高的软件
  • 网站页脚需要放什么百度网站建设技术
  • wordpress怎么搭建分享网站wordpress怎么填写横幅图片
  • 怎么做网站里面的模块湖北民族建设集团网站
  • 留言板网站怎么做二手书网站策划书
  • pc网站是什么湖南现在有什么网站做农副产品
  • 2017最新网站icp备案wordpress添加icon文件夹
  • 企业网站推广 知乎企业网站设计收费
  • 找人做任务网站营销型网站建设亏1
  • 手机网站快速排名如何做企业网站开发
  • 网站备案文件找产品厂家用哪个app
  • 音乐网站后台管理模板廊坊哪里做网站好
  • 自贡北京网站建设电影网站建设策划书
  • 做故障风的头像的网站揭阳做网站的
  • 高师院校语言类课程体系改革与建设 教学成果奖申报网站上饶网站网站建设