图解数据结构很多人对这个问题比较感兴趣,下面让我们一起来看数据结构之二叉树详解,希望可以帮助到你。
1 定义
2 前序遍历(根左右)
前序遍历通俗的说就是从二叉树的根结点出发,当第一次到达结点时就输出结点数据,按照先向左在向右的方向访问。
图3.13所示二叉树访问如下:
则3.13所示二叉树的前序遍历输出为:
ABDHIEJCFG
3 中序遍历(左根右)
中序遍历就是从二叉树的根结点出发,当第二次到达结点时就输出结点数据,按照先向左在向右的方向访问。
图3.13所示二叉树中序访问如下:
则3.13所示二叉树的中序遍历输出为:
HDIBJEAFCG
4 后序遍历(左右根)
后序遍历就是从二叉树的根结点出发,当第三次到达结点时就输出结点数据,按照先向左在向右的方向访问。
图3.13所示二叉树后序访问如下:
则图3.13所示二叉树的后序遍历输出为:
HIDJEBFGCA
1 定义
2 图解实例
选取一个节点为参照根节点,会发现所有的左侧子节点小于等于参照点,右侧大于等于参照点。
比如根节点9, 9所有的左侧子节点(5、2、7、1、3)都小于等于9.
比如根节点13,13所有的左侧子节点(11、10、12)都大于等于13.
3 查找
查找节点 10:根节点9开始,10>9 右侧,10<13 左侧,10<11 左侧,找到10.
下图是二叉查找树的极端情况
二叉查找树就是为了提高查询效率,而当前这种和我们写了一堆for循环是一样的。
为了应对这种情况:又出现了平衡二叉树--红黑树。后面会提到。
1 定义
红黑树的特性:
(1)每个节点或者是黑色,或者是红色。
(2)根节点是黑色。
(3)每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!]
(4)如果一个节点是红色的,则它的子节点必须是黑色的。也就是不能有连在一起的红色节点,但是可以有连在一起的黑色节点
(5)满足所有的二叉查找树的性质
红黑树示意图如下:
2 变换规则
左旋又分为两种情况,
(1)我们操作的结点E是整棵树的根节点,那么左旋实现为下面步骤
(2)我们操作的结点E有父结点,那么左旋实现为下面步骤
3)右旋
右旋同样分为两种情况,与左旋情况类似,故实际操作参考左旋。
3 插入
注意:上述描述中一个很重要的点是,在插入元素时,是将元素作为叶子结点插入的,插入到原红黑树的外部结点。
插入结点染色情况
插入结点后调整和平衡过程
1.变颜色的情况: 当前结点的父亲是红色,且它的祖父结点的另一个结点(也就是叔叔结点)也是红色:
2.左旋:当前父结点是红色,叔叔结点是黑色的时候,且当前的结点时右子树,则进行左旋。左旋过程不需要进行颜色变换。
3.右旋:当前父结点时红色,叔叔结点是黑色的时候,且当前的结点是左子树,则进行右旋。右旋过程中需要进行颜色变换,具体右旋过程如下。
实例讲解
参考视频:
https://www.bilibili.com/video/BV1tE411f7tP?p=4&spm_id_from=pageDriver
【导读】对于数据分析工程师来说,数据结构是必知必会的,是数据分析师基础学习的部分,在进行数据结构学习的时候,是绕不过的一个基础,那么数据分析师必须掌握的数据结构有哪些?今天我们要推荐的就是一份能够帮助大家学好数据结构的书单,赶紧学起来吧!
1、大话数据结构
《大话数据结构》为超级畅销书《大话设计模式》作者程杰潜心三年推出的扛鼎之作!以一个计算机教师教学为场景,讲解数据结构和相关算法的知识。
通篇以一种趣味方式来叙述,大量引用了各种各样的生活知识来类比,并充分运用图形语言来体现抽象内容,对数据结构所涉及到的一些经典算法做到逐行分析、多算法比较。与市场上的同类数据结构图书相比,本书内容趣味易读,算法讲解细致深刻,是一本非常适合自学的读物。
2、趣学数据结构
本书基于C++语言编写,从趣味故事引入算法复杂性计算及数据结构基础内容,涵盖线性结构、树形结构和图形结构,包括链表、栈和队列、树和图的应用等。本书内容还涉及数据结构的基本应用(包括各种查找、排序等)和高级应用(包括优先队列、并查集、B-树、B+树和红黑树等)。
通过大量图解将抽象数据模型简单通俗化,语言表述浅显易懂,并结合有趣的实例帮助读者轻松掌握数据结构。
3、Python数据结构与算法分析
了解数据结构与算法是透彻理解计算机科学的前提。随着Python日益广泛的应用,Python程序员需要实现与传统的面向对象编程语言相似的数据结构与算法。
本书是用Python描述数据结构与算法的开山之作,汇聚了作者多年的实战经验,向读者透彻讲解在Python环境下,如何通过一系列存储机制高效地实现各类算法。通过本书,读者将深刻理解Python数据结构、递归、搜索、排序、树与图的应用,等等。
4、图解数据结构:使用 C++(其他语言版本也有)
这是一本以C++程序语言实战来解说数据结构概念的教材。全书内容浅显易懂,利用大量且丰富的图示与范例,详解复杂的抽象理论,从最基本的数据结构概念开始说明,再以C++工具加以诠释阵列结构、堆栈、链表、队列、排序、查找等重要的概念,引领读者抓住重点轻松进入数据结构的学习领域。
《图解数据结构:使用C++》内容架构完整,逻辑清楚,采用丰富的图例来阐述基本概念及应用,有效提升可读性。以C++程序语言实现数据结构中的重要理论,以范例程序说明数据结构的内涵。强调边做边学,结合下载文件,给予最完整的支援。
在进行数据结构学习的时候,以上分享的数据结构的书单,大家可以有效利用起来,希望对大家有所帮助,另外,数据分析师是近几年针对大学生的新兴职业,所以对于大学生就业是很有帮助的,如果大家想要在这方面有所发展,不妨去努力学习一下,了解一下数据分析师的日常工作,考一个相关的证书。
满二叉树和完全二叉树的区别图解,如下所示:
完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。
对于满二叉树,除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。而完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。
满二叉树定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。
完全二叉树定义:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。
(1)无法接受它的描述方式。数据结构的描述大多是抽象的形式,我们习惯了使用自然语言表达,难以接受数据结构的抽象表达。不止一个学生问我,书上的“ElemType”到底是什么类型?运行时怎么经常提示错误。它的意思就是“元素类型”,只是这样来描述,你需要什么类型就写什么类型,例如int。这样的表达方式会让不少人感到崩溃。
(2)不知道它有什么用处。尽管很多人学习数据结构,但目的各不相同。有的人是应付考试,有的人是参加算法竞赛需要,而很多人不太清楚学习数据结构有什么用处,迷迷糊糊看书、做题、考试。
(3)体会不到其中的妙处。由于教材、教师等各种因素影响,很多学生没有体会到数据结构处理数据的妙处,经常为学不会而焦头烂额,学习重在体会其中的乐趣,有乐趣才有兴趣,兴趣是最好的驱动力。
塑料储物柜通常也叫塑料整理柜、塑料收纳柜等。塑料储物柜是采用聚乙烯PE或聚丙烯PP生产制造的,一般是分几层,可以放置不同的物品,分类工具等。塑料储物柜有很多的优点,下面我们就来看看塑料储物柜的优点以及塑料储物柜选购技巧。
2023-04-06市场上充斥着各种各样所谓的液晶清洁产品,液晶清洗剂其中有相当的部分是非专业产品,由于长期以来,在液晶清洁产品领域国家没有相关标准,同时由于液晶的普及应用刚刚形成,相当多的消费者并不清楚如何去选择和判断什么是合格的液晶清洁产品,导致了一些非专业产品在市场上得以流通、销售,面对这么多的所谓的号称的专业液晶清洁产品,如何进行选择呢?
2023-04-07线材是指直径为5-22mm的热轧圆钢或者相当此断面的异形钢。一般用普通碳素钢和优质碳素钢制成。按照钢材分配目录和用途不同,线材包括普通低碳钢热轧圆盘条、优质碳素钢盘条、碳素焊条盘条、调质螺纹盘条、制钢丝绳用盘条、琴钢丝用盘条以及不锈钢盘条等。
2023-04-08烧烤机是一种烧烤设备,可以用来做羊肉串、烤肉等。烧烤机分为3种,碳烤机、燃气烤机和自动烧烤机,其中燃气烤机和自动烧烤机以无油烟、对产品无污染而备受欢迎。烧烤机的最大特点就是可以同时烧烤和煎炸食物,也可单独使用其一项功能。设计精巧,安装简易,为欧美流行款式,适合多人野外或家庭聚会使用,增添情趣。
2023-04-09空气消毒器,即为对空气消毒杀菌的机器。除了杀灭细菌、病毒、霉菌、孢子等所谓杀菌消毒外,有的机型还能去除室内空气中的甲醛,苯酚等等有机污染气体,而且还可以杀灭或者过滤花粉等过敏源。同时,对吸烟产生的烟雾和烟味,卫生间的不良气味,人的体味等有效的去除。
2023-04-09水果沙拉,蔬菜沙拉等制作方法都比较简单快捷,而且夏季吃起来凉爽怡人,另外就是营养得以保留,混合搭配的营养也会比较全面,所以没事的时候做一些沙拉是非常不错的选择,这里我们就来做水果沙拉。
2023-05-20宫保鸡丁是一道驰名中外的经典菜肴,宫保鸡丁在鲁菜,川菜和贵州菜中都有收录,它和鲁菜的酱爆鸡丁和贵州菜的胡辣子鸡丁有关。当然,今天我们要看的是川味宫保鸡丁的做法。
2023-04-302023年酸奶机十大品牌排行榜,他们分别是小熊Bear、九阳Joyoung、WMF福腾宝、优益YOICE、多乐duole、小南瓜、天际TONZE、IRIS爱丽思、生活元素、nathome北欧欧慕,告诉您酸奶机什么品牌好。
2023-03-072023年纯水机十大品牌排行榜,他们分别是美的Midea、A.O.史密斯、沁园TRULIVA、ECOWATER怡口、3M、安吉尔Angel、水美乐aquamelon、溢泰KEMFLO、海尔施特劳斯、小米XIAOMI,告诉您纯水机什么品牌好。
2023-03-132023年孕妇装十大品牌排行榜,他们分别是十月妈咪octmami、JoynCleon婧麒、孕之彩、快乐屋HAPPYHOUSE、添香TIANXIANG、惠葆HUBO、嫚熙、贝儿森Bellsen、Gennie's奇妮、君心,告诉您孕妇装哪个品牌好。
2023-03-212023年银手镯十大品牌排行榜,他们分别是Tiffany蒂芙尼、PANDORA潘多拉珠宝、梦祥银Myshine、老银匠、周大福ChowTaiFook、老凤祥、7℃银饰、中国白银集团、熊银匠HSIUNG、宝庆银楼,告诉您银手镯有哪些品牌。
2023-03-262023年竹地板十大品牌排行榜,他们分别是大庄DASSO、永裕YOYU、桃花江竹材、春红CHOHO、振宇、尧龙、庄禾竹建ZHUART、爱其家、竹钢、吉兴竹业,告诉您什么牌子竹地板好。
2023-03-28