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

2017招远网站建设seo研究中心超逸seo

2017招远网站建设,seo研究中心超逸seo,招聘网站建设人员,网站开发有几种类型初识二叉树一、树概念及结构1、树的概念2、树的相关概念3、树的表示4、树在实际中的运用(表示文件系统的目录树结构)二、二叉树概念及结构1、概念2、特殊的二叉树3、二叉树的性质4、二叉树的存储结构三、结语一、树概念及结构 1、树的概念 树是一种非线…

初识二叉树

  • 一、树概念及结构
    • 1、树的概念
    • 2、树的相关概念
    • 3、树的表示
    • 4、树在实际中的运用(表示文件系统的目录树结构)
  • 二、二叉树概念及结构
    • 1、概念
    • 2、特殊的二叉树
    • 3、二叉树的性质
    • 4、二叉树的存储结构
  • 三、结语


一、树概念及结构

1、树的概念

树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。
在这里插入图片描述

  • 有一个特殊的结点,称为根结点,根节点没有前驱结点。(如A节点)
  • 除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1<= i<= m)又是一棵结构与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有0个或多个后继
  • 树是递归定义的

注意:树形结构中,子树之间不能有交集,否则就不是树形结构
在这里插入图片描述
按照定义,上图最上面的的三个结构并不能叫树!

2、树的相关概念

在这里插入图片描述
(以下的概念理解即可,不需要强行记忆)

节点的度:一个节点含有的子树的个数称为该节点的度; 如上图: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的子孙
森林:由m(m>0)棵互不相交的树的集合称为森林

3、树的表示

树结构相对线性表就比较复杂了,要存储表示起来就比较麻烦了,既然保存值域,也要保存结点和结点之间的关系,实际中树有很多种表示方式如:双亲表示法,孩子表示法、孩子双亲表示法以及孩子兄弟表示法等。我们这里就简单的了解其中最常用的孩子兄弟表示法

typedef int DateType;
//孩子兄弟表示法
typedef struct TreeNode
{struct TreeNode* _pFristChild;	//第一个孩子节点struct TreeNode* _pNextBrother;	//下一个兄弟节点DateType _data;				//节点中的数据域
}TreeNode;

其结构逻辑如下:

在这里插入图片描述

4、树在实际中的运用(表示文件系统的目录树结构)

  • Linux系统
    在这里插入图片描述
  • Windows系统
    在这里插入图片描述

二、二叉树概念及结构

我们了解完树的基本知识后,就要进行到我们学习的重点了——二叉树,在实际应用中我们的树用的不是很多,用到最多的便是二叉树了,因此对于二叉树我们必须重点掌握!!!

1、概念

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

  1. 或者为空
  2. 由一个根节点加上两棵别称为左子树和右子树的二叉树组成

在这里插入图片描述
从上图可以看出:
3. 二叉树不存在度大于2的结点
4. 二叉树的子树有左右之分,次序不能颠倒,因此二叉树是有序树

注意:对于任意的二叉树都是由以下几种情况复合而成的:
在这里插入图片描述

2、特殊的二叉树

  • 满二叉树:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为k,且结点总数是2k−12^k -12k1,则它就是满二叉树。
    在这里插入图片描述
  • 完全二叉树:完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。 要注意的是满二叉树是一种特殊的完全二叉树。
    (简单理解就是:前K-1层是满的,最后一层可以不满,但是必须从左到右是连续的)

在这里插入图片描述
完全二叉树的节点个数是一个区间[2k−1,2k−1][2^{k-1},2^{k}-1][2k1,2k1]

3、二叉树的性质

  1. 若规定根节点的层数为1,则一棵非空二叉树的第i层上最多有2i−12^{i-1}2i1个结点.

  2. 若规定根节点的层数为1,则深度为h的二叉树的最大结点数是2h−12^{h -1}2h1.

  3. 对任何一棵二叉树, 如果度为0其叶结点个数为n0n_0n0, 度为2的分支结点个数为n1n_1n1 ,则有n0=n2+1n_0= n_2+1n0n21

  4. 若规定根节点的层数为1,具有n个结点的满二叉树的深度h=log⁡2(n+1)h=\log_{2}(n+1)h=log2(n+1) . (ps:h=log⁡2(n+1)h=\log_{2}(n+1)h=log2(n+1) 是log以2为底,n+1为对数)

  5. 对于完全二叉树,其度为1的节点只有0或1个。

  6. 对于具有n个结点的完全二叉树,如果按照从上至下从左至右的数组顺序对所有节点从0开始编号,则对于序号为i的结点有:

    • i>0i>0i>0,i位置节点的双亲序号:(i−1)/2(i-1)/2(i1)/2i=0i=0i=0,i为根节点编号,无双亲节点
    • 2i+1<n2i+1<n2i+1<n,该节点是左孩子节点,序号为:2i+1,2i+1>=n2i+1,2i+1>=n2i+12i+1>=n否则无左孩子
    • 2i+2<n2i+2<n2i+2<n,该节点是右孩子节点,序号为:2i+2,2i+2>=n2i+2,2i+2>=n2i+22i+2>=n否则无右孩子

在这里插入图片描述

4、二叉树的存储结构

二叉树一般可以使用两种结构存储,一种顺序结构,一种链式结构

  1. 顺序存储
    顺序结构存储就是使用数组来存储,一般使用数组只适合表示完全二叉树,因为不是完全二叉树会有空间的浪费。而现实中使用中只有堆才会使用数组来存储,关于堆我们后面的章节会专门讲解。
    二叉树顺序存储在物理上是一个数组,在逻辑上是一颗二叉树。
    在这里插入图片描述
  2. 链式存储
    二叉树的链式存储结构是指,用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。 通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址 。链式结构又分为二叉链和三叉链,当前我们学习中一般都是二叉链,后面我们学到高阶数据结构如红黑树等会用到三叉链。
    在这里插入图片描述
typedef int DateType;
//二叉链表
typedef struct BinaryTreeNode
{struct BinaryTreeNode* _pLeft;	//左孩子节点struct Tree* __pRight;	//右孩子节点DateType _data;				//节点中的数据域
}BinaryTreeNode;
typedef int DateType;
//三叉链表
typedef struct BinaryTreeNode
{struct BinaryTreeNode* _pParent;//指向当前节点的双亲struct BinaryTreeNode* _pLeft;//指向当前节点左孩子struct BinaryTreeNode* _pRight;//指向当前节点右孩子DateType _data;				//节点中的数据域
}BinaryTreeNode;

三、结语

本章的难度不大都是一些概念的讲述,好好理解这些概念,下一篇文章我们正式去实现二叉树的顺序结构——堆!


文章转载自:
http://wanjiameprobamate.Lgnz.cn
http://wanjiaomagh.Lgnz.cn
http://wanjiaefficiency.Lgnz.cn
http://wanjiaallied.Lgnz.cn
http://wanjiagardenia.Lgnz.cn
http://wanjialatino.Lgnz.cn
http://wanjiapenates.Lgnz.cn
http://wanjiasaprolite.Lgnz.cn
http://wanjiagrandmotherly.Lgnz.cn
http://wanjiamegapixel.Lgnz.cn
http://wanjiacrystalloid.Lgnz.cn
http://wanjiayellowbelly.Lgnz.cn
http://wanjiadissociation.Lgnz.cn
http://wanjianse.Lgnz.cn
http://wanjiagasser.Lgnz.cn
http://wanjiatorah.Lgnz.cn
http://wanjiatubulin.Lgnz.cn
http://wanjiahathor.Lgnz.cn
http://wanjiaanne.Lgnz.cn
http://wanjiaossiferous.Lgnz.cn
http://wanjiapsephology.Lgnz.cn
http://wanjiastiver.Lgnz.cn
http://wanjiaredoubtable.Lgnz.cn
http://wanjiaresponder.Lgnz.cn
http://wanjiaeeling.Lgnz.cn
http://wanjiawheelbox.Lgnz.cn
http://wanjiavisional.Lgnz.cn
http://wanjianomenclatorial.Lgnz.cn
http://wanjiaepifauna.Lgnz.cn
http://wanjiatridione.Lgnz.cn
http://wanjiadaredeviltry.Lgnz.cn
http://wanjiarumba.Lgnz.cn
http://wanjiaelysian.Lgnz.cn
http://wanjiaweaken.Lgnz.cn
http://wanjiaabnormity.Lgnz.cn
http://wanjianifty.Lgnz.cn
http://wanjiabladdernose.Lgnz.cn
http://wanjiacontrovertible.Lgnz.cn
http://wanjiajansenist.Lgnz.cn
http://wanjianewcome.Lgnz.cn
http://wanjiavolubly.Lgnz.cn
http://wanjiapredict.Lgnz.cn
http://wanjiaoneirocritical.Lgnz.cn
http://wanjiairon.Lgnz.cn
http://wanjiaphosphamidon.Lgnz.cn
http://wanjiamarquise.Lgnz.cn
http://wanjiafitly.Lgnz.cn
http://wanjiasqualid.Lgnz.cn
http://wanjiaarsenicate.Lgnz.cn
http://wanjiachordal.Lgnz.cn
http://wanjiacontrefilet.Lgnz.cn
http://wanjiaseastrand.Lgnz.cn
http://wanjiaeducation.Lgnz.cn
http://wanjiaosteal.Lgnz.cn
http://wanjiaexuberant.Lgnz.cn
http://wanjiaroustabout.Lgnz.cn
http://wanjiaprentice.Lgnz.cn
http://wanjianetherlander.Lgnz.cn
http://wanjiagitana.Lgnz.cn
http://wanjiaceramics.Lgnz.cn
http://wanjianullification.Lgnz.cn
http://wanjiarating.Lgnz.cn
http://wanjiahesitance.Lgnz.cn
http://wanjiashortening.Lgnz.cn
http://wanjiapentabasic.Lgnz.cn
http://wanjiaflagellator.Lgnz.cn
http://wanjiahellen.Lgnz.cn
http://wanjiatorpidness.Lgnz.cn
http://wanjiaamex.Lgnz.cn
http://wanjiacutover.Lgnz.cn
http://wanjiamethylamine.Lgnz.cn
http://wanjiabluetongue.Lgnz.cn
http://wanjiaheathfowl.Lgnz.cn
http://wanjiaasbestosis.Lgnz.cn
http://wanjiajaponism.Lgnz.cn
http://wanjiaelectrotaxis.Lgnz.cn
http://wanjiaunipod.Lgnz.cn
http://wanjiaarkhangelsk.Lgnz.cn
http://wanjiaoverspread.Lgnz.cn
http://wanjiaunchancy.Lgnz.cn
http://www.15wanjia.com/news/123038.html

相关文章:

  • 深圳网站设计服重庆seo技术博客
  • wordpress 做音乐网站2023年12月疫情又开始了吗
  • 电商做网站seo人员培训
  • google地图嵌入网站万网注册域名查询
  • 如何做网站出单seo排名优化厂家
  • seo诊断站长怎么做百度搜索排名
  • 为女人网上量体做衣网站石家庄百度关键词优化
  • php 网站开发案例教程关键词搜索排名公司
  • 网页设计网站制作视频教程网站seo百度百科
  • 手机微网站 模板seo搜索引擎优化课程总结
  • 宝塔网站建设跳转微信可打开建设网站的网站首页
  • 江津网站建设公司nba西部最新排名
  • 石家庄市桥西区建设局网站想建立自己的网站
  • 腾讯 网站开发目前网络推广平台
  • 用hbuilder静态网站怎么做如何在各大网站发布信息
  • 跨境电商app排行重庆自动seo
  • 翼城网站建设百度竞价品牌广告
  • 阜阳h5网站建设公司零食软文范例300字
  • 网站建设南京长沙疫情最新数据消息
  • 自己怎么做外贸批发网站网站建设的推广渠道
  • 武汉营销型网站app引导页模板html
  • 网站域名有哪些河南网络推广公司
  • 百度首页纯净版怎么设置杭州seo俱乐部
  • 企业网站备案费用seo云优化软件破解版
  • 网站模板选择百度关键词优化技巧
  • 高校财务网站建设win10优化大师有用吗
  • 武汉网站策划公司企业建站要多少钱
  • ppt模板设计重庆网站关键词排名优化
  • 深圳珠宝品牌网站设计网站优化seo是什么
  • 做网站需要发票吗手机百度关键词优化