(一)树结构---基础

导语

  • 本章都是对树的一些基本概念的区分,是学习树数据结构的基础,对树已经很了解可以直接跳过
  • 为了整体逻辑框架的完整性,所以笔者没有学习完和不懂的地方只写了标题和做了注释,以后回补上
  • 结点的关系,双亲,孩子和祖先等并没有进行介绍,不解的自行百度,在文中叶子结点的空孩子有时会以#或T做标识,在相应部分会作说明
  • 笔者所有书写皆为自己学习相关学习资料的心得,若有错误之处,欢迎留言指正

1.树的概念

树是n(n≥0)个结点的有限集。

  • 结点

1.这个树中每个元素都称之为结点
2.结点的度:每个结点所拥有的子树数量
3.根据结点度的数量划分为叶子结点(度为0)和非终端结点(度≠0)
4.非终端结点中除了根节点(度=2),其余又称内部节点或分支结点(1≤度≤2)

  • 树的度

1.树中结点最大的度:max(结点度)
2.由于我们研究是主要是二叉树,而二叉树每个节点的度只能为0、1或2,所以二叉树树的度也只能为0,1或2

  • 结点层与树的深度

1.结点层:以根节点为第一层,根据子树依次类推,非空二叉树中,第i层最多有ni-1(i≥1)个结点
2.树的深度:结点层最大的叶子结点的层为树的深度:max(叶子结点层)


2.二叉树

1.二叉树定义

每个结点最多有两个子树,即二叉树中不存在度大于2的结点。

2.满二叉树(完美二叉树)

深度为n(n>0)的满二叉树有2n-1个结点

满二叉树

2.完全二叉树

深度为n(n>0)的非空二叉树,第1层到n-1层为满二叉树,第n层从右向左缺失若干结点的树。即叶子结点层的所有结点都在最左边。


完全二叉树

3.完满二叉树

除了叶子结点,任意结点的度都为2的二叉树;即除了叶子节点,其他结点都需要有两个孩子。


完满二叉树

4.区别与联系

1.三种二叉树的关系:


二叉树结构图

2.上图中即为完全二叉树又为完满二叉树的例子


完全二叉树&&完满二叉树

5.最优二叉树(哈夫曼树)

5.1. 相关概念
  • 任意两个结点的路径长度:从一个结点到另一个结点需要走过的分支数目
  • 树的路径长度:从根节点到每个结点的路径长度之和
  • 结点的带权路径:从该结点到树根之间的路径长度与结点上权的乘积
  • 树的带权路径长度:树中所有叶子结点的带权路径长度之和
5.2.构造最优二叉树
  • 思路:权值越大,路径越短,距离根节点越近。
     1. 取权值最小的两个叶子构造其双亲(双亲的权值为两个叶子结点权值之和)
     2. 取剩下的叶子结点中权值最小的叶子结点,和之前构造的双亲再构成其双亲
     3. 重复2中的步骤,直至所有叶子结点都被构造到树中
  • 例子:有四个叶子结点A,B,C,D分别权值为7,5,2,4;求其构成的哈夫曼树?

    1.权值最小的C,D两个叶子节点先构成双亲V1,V1权值为6
    2.剩余叶子结点中权值最小结点B与V1构成双亲V2,V2权值为11
    3.最后一个结点7与V2构成双亲V3,也是该最优二叉树的根结点


    最优二叉树
  • 应用:
  1. 在某些算法判断中,利用哈夫曼树可以得到最佳的判断算法,书上的例子是:某学校学生根据考试成绩给学生评级为不及格(score<60),及格(60≤score<70),良(70≤score<90),优(score≥90);
    每一分数段的学生数比例为权值,若判断设置合理程度,关系到数据所经过的比较次数,如何得到最小的比较次数,提高判断的效率
    PS:笔者没有对哈夫曼树,哈夫曼编码进行深入探究,若想深入理解的,请翻阅相关资料。

3.查找二叉树

  • 此处的二叉树概念是基于对二叉树的查找而产生的二叉树定义,第二部分是根据二叉树本身的结构区分的不同二叉树。

1.二分搜索树(二叉顺序树、二叉查找树)

1.左子树的所有结点都小于它的根结点
2.右子树的所有结点都大于它的根结点
3.它的左右子树也满足二分搜索树的性质
在本文第二部分介绍二叉树中所有纯数字的图皆为二分搜索树

2.平衡二叉树

1.首先:平衡二叉树是二分搜索树,所以平衡二叉树必须满足二分搜索树的性质
2.其次:任何结点的左子树的深度和右子树的深度之差(平衡因子)的绝对值不超过1


平衡二叉树和非平衡二叉树

3.B树与B+树

4.红黑树

  1. 红黑树是基于二分搜索树,所以满足二分搜索树的性质
  2. 红黑树性质:
     1.每个结点或为黑色,或为红色
     2.根结点为黑色
     3.每个叶子结点为黑色的(红黑树中叶子结点指空结点NIL)
     4.如果一个结点是红色的,那他的孩子结点为黑色
     5.从任意一个结点到叶子结点,经过的黑色结点是一样的
  3. 红黑树特点
     1.红黑树严格意义上来说并不是平衡二叉树,仅对于黑结点来说,为黑绝对平衡的二叉树(即平衡满二叉树)
     2.红黑树与2-3树(2-3-4树)的性质类似
     3.红黑树的统计性能更优(增删查改综合的平均性能)


    红黑树

PS:具体介绍:


4.二叉树的遍历

  • 以下面没有循序(不满足二分搜索树)的满二叉树为例,实现下面遍历


    无序满二叉树

4.1.按遍历根结点的顺序划分(打印根结点的顺序)

1.从树的根结点A开始遍历,序号和箭头代表遍历过程中经过结点的先后顺序,
2.不管哪种遍历,对于一个二叉树来说,一定会先经过根结点,左子树,根结点,右子树,根结点
3.每一个结点都会经过三次,叶子结点默认经过两次空子结点。


按根结点划分遍历
1.前序遍历
  • 遍历顺序:第一次经过根结点的时候打印:
    打印顺序:根结点,左子树,根结点,右子树,根结点
    遍历结果:a,b,d,h,i,e,j,k,c,f,l,m,g,n,p
2.中序遍历
  • 遍历顺序:第二次经过根结点的时候打印:
    打印顺序:根结点,左子树,根结点,右子树,根结点
    遍历结果:h,d,i,b,j,e,k,a,l,f,m,c,n,g,p
3.后序遍历
  • 遍历顺序:第三次经过根结点的时候打印:
    打印顺序:根结点,左子树,根结点,右子树,根结点
    遍历结果:h,i,d,j,k,e,b,l,m,f,n,m,g,c,a

4.2.按层遍历划分

按层遍历是指从左向右,从第一层到最高层依次遍历,即从根结点所在层到最高的叶子结点所在层

层序遍历顺序

遍历顺序:根结点,...,内部结点,...,叶子结点
遍历结果:a,b,c,d,e,f,g,h,i,j,k,l,m,n,p
若使用一维数组存储二叉树结构,数据在存储的顺序就是按层遍历顺序

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335