数据结构笔记6树与二叉树

数据结构笔记6树与二叉树

前言

数据结构笔记5数组

写一下树与二叉树的笔记。

思维框架图

树的定义和基本术语

树的定义和基本术语

二叉树

二叉树

遍历二叉树和线索二叉树

遍历二叉树和线索二叉树

树和森林以及哈夫曼树

六、树和二叉树

习题

选择题

\12. 在具有n个结点的二叉树中,其空指针域的个数为________。

A)2n+1 B)n-1 C)n+1 D) 不确定

13.如果二叉树T是由多叉树F转换而成,那么树F的叶子在二叉树T中应是满足_________条件结点。

A)左子树为空且右子树非空 B)左、右子树均为空

C)左子树为空 D)右子树为空。

14.已知二叉树的后序序列为:FDEBHGCA,中序序列为:BFEDAGHC,则其先序序列为:_________。

A)ABEDFGCH B)ABCEGFDH

C)ABCEFDGH D)ABEFDCGH

15.一棵共有23个结点的二叉树中,树中除度为2的结点外其它均为叶子结点,那么该树中叶子结点的个数是_________个。

A)9 B)10 C)11 D) 12

\16. 如果二叉树T是由多叉树F转换而成,那么树F的后根序列应该是二叉树T的_________。

A)层次遍历序列 B)先序序列

C)中序序列 D)后序序列

\17. 具有64个结点的完全二叉树的深度为_______。

​ A) 5 B) 6 C) 7 D) 8

​ ( n=2K-1)

\18. 具有3个结点的二叉树共有______种形态。

A) 3 B) 4 C) 5 D) 6

\19. 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )

​ A) 9 B) 11 C) 15 D)不确定

20.一棵共有13个结点的4叉树中,其中除叶子结点外其它结点的度均为4,那么该树中叶子结点的个数是____个。

​ A)8 B)9 C)10 D) 11

\21. 一棵深度为h的二叉树,其结点个数最多为_______。

A)2h+1 B)2h-1 C)2h+1 D)2h-1

12.C 13.C 14.D 15.D 16.C 17.C 18.C 19.B 20.C

21.D

判断题

( )一棵多叉树转换成二叉树,该二叉树的根结点一定没有右子树。

( )二叉树只能用链式结构存储,无法用顺序存储结构存储。

( )完全二叉树中最多只能有一个度为1的结点。

( )完全二叉树中一定不存在度为1的结点。

( )具有n个结点的二叉树其深度一定小于n 。

9.√ 10.X

\11. √ 12. X 13. X

简答题

树的叶子节点

编写一个递归算法,求二叉树中位于先序遍历中第k个位置的节点的值。

编写一个递归算法,计算二叉树中叶子结点的数目

编写递归算法,将二叉树中所有节点的左右子树相互交换。

写出树的先根序列和后根序列

总结

树与二叉树的考点主要是二叉树性质、二叉树遍历、二叉树与森林的转换以及哈夫曼树。

目前已经学了前五个部分了,仔细看看,其实是相互先联系的。数据结构笔记1绪论科普了数据结构的概念以及时间复杂度; 数据结构笔记2线性表阐述了最简单的顺序结构和链式结构; 数据结构笔记3栈和队列说明了生活中常用到的线性结构(递归、队列);数据结构笔记4串讲解了字符串的数据结构,也是生活中常用到的数据结构——文字;数据结构笔记5数组讲解了数组的数据结构,是图形处理的基础——二维数组;

这一部分是树和二叉树,其实在遍历中常用到。在vue中就是用虚拟DOM树,通过内部的计算,选出最好的渲染方式。

虚拟DOM大幅度提升了对修改HTML元素的性能,使网页响应更快。

DOM储存于内存中,提供操作和修改HTML元素的一系列API。DOM操作是前端开发的核心,最早流行的前端框架都以优秀的DOM操作闻名,如jQuery。与JavaScript逻辑相比,DOM操作的性能消耗非常高,在以静态内容为主的webpage时代,少量DOM操作的性能损耗基本可以忽略,然而对于存在丰富动态内容的webapp而言,大量、频繁的DOM操作逐渐成为了性能瓶颈。

virtual DOM技术的核心是创建DOM对象的一个轻量级克隆对象,虚拟DOM拥有原始DOM除了操作HTML元素的API以外的所有属性。对于JavaScript而言,虚拟DOM仅仅是一个拥有丰富属性的对象,所有针对DOM的操作被映射为对JavaScript对象的修改,性能上大幅度优于直接对DOM的操作。在接收到动态数据或用户操作后,Vue或react会在内存中将虚拟DOM树全量更新,对比检查受影响的对象,随后对这些对象所对应的真实DOM进行对应修改。得益于Vue或react的diff算法,可以采用全量更新策略并且能够保障对比性能。

这部分暂时写到这。

更新地址:GitHub

更多内容请关注:CSDNGitHub掘金

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值