库里重返CBA四强?球迷沸腾热议|爱游戏积分榜

adminsa 2 天前 深度解析 23 阅读

公共基础——二级Office必考考点,专业性很强,如果没有一套通俗易懂的复习资料,这部分内容往往显得枯燥、晦涩、难以理解,你是爱游戏电竞平台否也正因为公共基础太难而愁眉不展?是否还在为选择题不知从何下手而焦头烂额?从今天开始,小编将带你远离枯燥乏味的专业术语,用最直白的方式,爱游戏积分榜轻松学懂公共基础!

7 倒置的树——树与二叉树

7.1 树的基本概念

数据结构中所说的“树”,其实就好比把现实生活中的大树倒过来看——树根朝上,枝叶向下伸展,在计算机中,我爱游戏电竞官网们在磁盘根目录下创建文件夹,在文件夹下又能建立多个子文件夹,层层嵌套,这种结构就是典型的“树”,树是一种非线性结构,元素之间具有明显的层次关系。

和我们平时称呼一棵树类似,数据结构中的树也有“根结点”“分支结点(非终端结点)”和“叶子结点(终端结点)”,要注意的是:根在上,叶子在下。

除了根结点和叶子结点外,每个结点都只有一个前驱(也就是前件),但可以有多个后继(也就是后件),这就像一个文件夹只有一个上级目录,却可以包含多个子文件夹,树的根结点是唯一没有前驱的结点,而叶子结点都没有后继。

我们可以把树想象成一本“家谱”:最上面是祖先,往下是子孙后代,这样一来,每个结点的唯一前驱就被称为“父结点”,它的多个后继则称为“子结点(孩子结点)”,同一个父结点下的各个子结点之间互称“兄弟结点”。

一个结点拥有子结点的个数,叫作该结点的“度”(也叫分支度),也就是它的孩子数,所有结点中最大的度,就是这棵树的度,树的最大层次数则称为树的深度,例如在图16-10中,结点C的度为2,结点A的度为3,结点D、E的度均为0,因此整棵树的度为3;这棵树共有3层,所以深度为3。

7.2 二叉树及其基本性质

二叉树是树的一种特殊情况:每个结点最多有两个分支(当然也可以只有一个分支,或者没有分支),如图16-11所示,二叉树中的结点只可能有三种度:0、1或2(度为1的结点,无论是向左分支还是向右分支,都归为同一类)。

根结点左边的部分叫左子树,右边的部分叫右子树,左右子树不能互换。

二叉树的基本性质:

(1)在二叉树的第k层上,最多有2^(k−1)个结点(k≥1);
(2)深度为m的二叉树,最多有2^m −1个结点;
(3)度为0的结点(即叶子结点)总是比度为2的结点多一个。

性质3巧记

库里重返CBA四强?球迷沸腾热议

性质3是最常考的一条,可以这样记住它:

我们公众号的小伙伴大多是大学生,很多还没孩子,人数那是相当多!虽说国家放开了二胎,但真正有两个孩子的家庭其实还不算多。
“没孩子的,总比有两个孩子的多一个”
——度为0就是没孩子,度为2就是有两个孩子,记住了这个,很多题都能迎刃而解!

【随讲随练16-17】一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为( )。
A. 219  B. 221  C. 229  D. 231

【答案】A
【分析】叶子结点为70个,因此度为2的结点为70−1=69个,总结点数=69+80+70=219。

【随讲随练16-18】设二叉树共有150个结点,其中度为1的结点有10个,则该二叉树中的叶子结点数为( )。
A. 71  B. 70  C. 69  D. 不可能有这样的二叉树

【答案】D
【分析】若叶子结点数为x,则度为2的结点数为x−1,x+(x−1)+10=150,即2x=141,x=70.5,不是整数,因此这样的二叉树不存在。

每一层上的结点数都达到最大的二叉树,称为满二叉树;除最后一层外,每一层结点数都达到最大,且最后一层只允许缺少右边的若干结点,这样的二叉树称为完全二叉树,显然,满二叉树一定是完全二叉树,但完全二叉树未必是满二叉树,满二叉树中不存在度为1的结点;而在完全二叉树中,度为1的结点要么为0个,要么为1个。

【例】已知一棵完全二叉树共有m个结点,求其叶子结点数:
设叶子结点数为x,则度为2的结点数为x−1,然后分两种情况:
(1)度为1的结点数为0时:x+(x−1)+0=m,解方程即可;
(2)度为1的结点数为1时:x+(x−1)+1=m,解方程即可。
舍去不合理的结果(如非整数),剩下的即为所求。

库里重返CBA四强?球迷沸腾热议

【随讲随练16-19】一棵完全二叉树共有360个结点,则在该二叉树中度为1的结点个数为( )。
A. 0  B. 1  C. 180  D. 181

【答案】B
【分析】设叶子结点数为x,则度为2的结点数为x−1,若度为1的结点数为0,则 x+(x−1)=360,即2x=361,x=180.5,不成立;若度为1的结点数为1,则 x+(x−1)+1=360,即2x=360,x=180,成立,因此度为1的结点个数为1。

【随讲随练16-20】在深度为7的满二叉树中,度为2的结点个数为( )。
A. 64  B. 63  C. 32  D. 31

【答案】B
【分析】深度为7的满二叉树共有2^7−1=127个结点,设度为2的结点为x个,则叶子结点为x+1个,且满二叉树没有度为1的结点,x+(x+1)=127,解得x=63。

7.3 二叉树的存储结构

二叉树既可以顺序存储,也可以链式存储,顺序存储通常用于满二叉树或完全二叉树,按层序将各结点依次存放到数组中,链式存储中,每个结点设有两个指针域,一个指向左子结点,一个指向右子结点,如图16-13所示,这种结构也叫二叉链表,需要注意的是:二叉链表本质上是树,逻辑结构属于非线性结构。

【随讲随练16-21】下列链表中,其逻辑结构属于非线性结构的是( )。
A. 二叉链表  B. 循环链表  C. 双向链表  D. 带链的栈

【答案】A

【随讲随练16-22】能从任意一个结点开始没有重复地扫描到所有结点的数据结构是( )。
A. 循环链表  B. 双向链表  C. 二叉链表  D. 有序链表

【答案】A
【分析】循环链表首尾相连,从任一结点出发都能遍历全部结点且不重复。

7.4 二叉树的遍历

二叉树的遍历,是指按照某种规则访问树中的每一个结点,且每个结点仅被访问一次,遍历方式不同,得到的序列也不同,除了最简单的按层次遍历外,还有三种重要的遍历方式:

(1)前序遍历(DLR):先访问根结点,再遍历左子树,最后遍历右子树;
(2)中序遍历(LDR):先遍历左子树,再访问根结点,最后遍历右子树;
(3)后序遍历(LRD):先遍历左子树,再遍历右子树,最后访问根结点。

这里的“前”“中”“后”指的是根结点被访问的时机:前序是先根,中序是中间根,后序是最后根,而左右子树始终遵循“从左到右”的顺序。

如图16-14所示,前序序列为ABC,中序序列为BAC,后序序列为BCA。

当左右子树不止一个结点时,就需要把每一棵子树单独看作一棵二叉树,递归地应用同样的遍历规则,对图16-11的二叉树求前序遍历序列,分析过程如图16-15所示,最终结果为:ABDGCEHIF,同理,其中序序列为DGBAHEICF,后序序列为GDBHIEFCA。

【例】已知一棵二叉树前序遍历序列为ABDGCFK,中序遍历序列为DGBAFCK,则它的后序遍历序列是?
【答案】GDBFKCA
【分析】应先根据前序和中序画出二叉树(如何画法详见《玩转Office轻松过二级》),再求后序序列。

如果已知后序和中序,求前序,方法类似,只是后序找根要看最后一个结点,若已知前序和后序,无法唯一确定中序,因此此类题目通常会给出中序序列,分析时可归纳为:前序或后序找根,中序分左右,层层画出二叉树

【随讲随练16-23】设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为( )。
A. BCA  B. CBA  C. ABC  D. CAB

【答案】C
【分析】后序序列中最后一个为根,即A为根;中序中A在中间位置,左子树为NULL,右子树为BC,继续分析可知前序为ABC。

【随讲随练16-24】下列叙述中正确的是( )。
A. 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B. 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C. 顺序存储结构能存储有序表,链式存储结构不能存储有序表
D. 链式存储结构比顺序存储结构节省存储空间

【答案】A 选自《玩转Office轻松过二级》(第2版),部分内容参考《C语言其实很简单》(第11-12章)

想不怎么费力就学懂公共基础的同学,强烈推荐赶紧去看看这两本书,这应该是目前唯一用白话串讲公共基础的二级教材,也是最容易上手的教材。

临近考试,时间紧迫,还在犹豫吗?如果这次想过关,就更需要一本浅显易懂、图文并茂的资料,帮你快速抓住重点。

特别提醒:
千万不要使用那种通篇只有文字、没有图示的复习材料或“速背手册”来复习——除非你早已有扎实的基础,公共基础的知识点,尤其是二叉树部分,必须有图辅助讲解,考试题目也会配图,单纯靠文字背诵,考场上很容易发懵,千万别让自己吃亏!

玩家评论

评论表单未启用