联系hashgameCONTACT hashgame
地址:广东省广州市
手机:13988889999
电话:020-88889999
邮箱:admin@qq.com
查看更多
Rhashgamehashgame
你的位置: 首页 > hashgame

C 408—《数据结构》易错考点HASH GAME - Online Skill Game ET 300200题(含解析)

发布时间:2025-06-04 13:48:34  点击量:

  HASH GAME - Online Skill Game GET 300;在默认的循环队列中,rear指向队尾元素的下一个位置,那么在入队时,需要先送值再进行指针移动(即rear指针顺时针移动1位),而在此题中,需要先令rear指针 + 1,再送值。因此,若想第一个进入队列的元素存储再A[0]处,由于是先移动指针再送值,rear在初始队列为空时必须指向A[0]之前的一个位置,而根据循环队列的特性,A[0]再往前就是数组的末尾了,即n - 1。而由于入队操作不修改front指针,所以front指针直接指向0处。

  Note :由于中缀表达式的运算符位于操作数的中间,因此,当扫描到中缀表达式中的运算符时,还无法确定该操作符的运算次序(还不能输出),所以需要一个栈来存放这些还不能确定的操作符。依然是中缀表达式从左往后看,第一个/号很快就确定了运算次序a/b,当扫描到b时第一个/号出栈,不会在栈中停留;继续,+,(,这两个运算符也不能确定次序,依次压栈;继续,c*d次序确定,因此第一个*号不会在栈中停留;继续,-,*,依次压栈。所以,在扫描到f时,栈中的元素依次是+, (, -, *四个运算符。

  ∵有124个叶子结点,∴二叉树至少有8层(2^7),而124个叶子结点可以分布在最后一层(即第8层) 和 倒数第二层(第7层)。注意,由于是完全二叉树,最后一层每删除两个连续叶子结点,上一层就会暴露出一个叶子结点(注意这个叶子结点本身是完全二叉树本就有的结点),∴为了使完全二叉树整体有最多的结点,并且还要满足124个叶子结点的要求,可知最后一层应该删除7个结点,这样第8层共121个叶子结点,加上上一层暴露出来的3个结点,正好是124个叶子结点,而这么做的线个结点——即最后一层的左孩子结点。由于前面7层加起来有127个结点,所以结点总数 = 127 + 121 = 248。73.已知一棵有2011个结点的树,其叶结点个数是116,该树对应的二叉树中无右孩子的结点个数是(D)。

  注意,第6层有8个叶结点,会有两种情况——①第6层就是最后一层,最后一层共有8个叶结点;②第6层不是最后一层,8个叶结点是最后一层删除连续的叶结点后,上一层所暴露出来的叶结点。题干问整棵树的结点个数最多,所以考虑第二种情况。1~6层共有2^6 - 1 = 63个结点。而第7层(最后一层)的叶结点个数,是第7层总的叶结点数 - 删除的叶结点数 = 2^6 - 8*2 = 64 - 16 = 48。所以整棵树的结点总数 = 63 + 48 = 111个。

  768个结点,∴至少有10层(10层全满为2^10 - 1 = 1023个结点)。前面9层一共有2^9 - 1 = 511个结点,所以第10层(最后一层)一共有768 - 511 = 257个结点(叶结点)。又因为257是奇数,所以第9层存在一个只有左孩子的非叶结点。第10层全满有2^9 = 512个结点,∴第9层由于删除而暴露出的叶结点的个数 = (512 - 257 - 1) / 2 = 254 / 2 = 127。∴该二叉树总的叶结点个数 = 257 + 127 = 384。76.[2018真题] 设一棵非空完全二叉树T的所有叶结点均位于同一层,且每个非叶结点都有2个子结点。若T有k个叶结点,则T的结点总数是(A)。

  ①技巧——先序序列和中序序列的关系:相当于以先序序列为入栈次序,以中序序列为出栈次序。根据卡特兰数(1/n+1)*C[2n,n],将n = 4代入可得14。②亦可直接手动写出所有可能结果:先假设b,c,d均在A的左子树上,有5种可能,根据对称关系,可知b,c,d都在A的左子树或右子树上的情况共有10种可能。再写出b,c,d不在同一棵子树下的情况,共4种可能(注意,当A既有左孩子又有右孩子时,不存在对称情况,因为要满足先序遍历“根左右”的特性,左右子树不能随便交换)。

【返回列表页】

顶部

地址:广东省广州市  电话:020-88889999 手机:13988889999
Copyright © 2018-2025 哈希游戏(hash game)官方网站 版权所有 非商用版本 ICP备案编: