21年408数据结构

 第一题:

解析:q指针指向要被删除的元素,当这个元素是链表中唯一一个元素时,q指针和尾指针都指向同一个元素,那么在删除掉这个元素之前,需要将尾指针调整到指向头指针的位置,此时链表为空,头指针h=尾指针p。

答案选D。   

第二题:

解析

选项A:1入队---2从右边入队---3从左边入队---4从左边入队---5从左边入队,然后都从左边出队得到出队序列是5,4,3,1,2,A正确。

选项B:1入队---2从右边入队---3从左边入队---4从右边入队---5从左边入队,然后都从左边出队得到出队序列是5,3,1,2,4,B正确。

选项C:1入队---2从左边入队---3从右边入队---4从左边入队---5从右边入队,然后都从左边出队得到出队序列是4,2,1,3,5,C正确。

选项D:1入队---2无论从哪边入队都不可能形成41325的队列,因为1,2挨着入队,1,2在队列中应该是挨着的。D错误

答案选D

第三题:

解析

假设该二维数组一行有n个元素,那从A[0][0]到A[3][3]一共增加了3n+3个元素,

3n+3=220-100=120(地址增量),解得n = 39,一行有39个元素,从A[0][0]到A[5][5]一共增加了5n+5个元素 5*39+5=200,地址增量是200,那么A[5][5]的存储地址就是:200+100=300

答案选B

第四题:

解析

我们说对于一个二叉树而言,知道它的先序序列(或者是后序序列)和中序序列就能确定这个二叉树的形态:

森林转二叉树时,遵循左孩子右兄弟的原则,将连续两颗右子树的连线去除,我们可以得到三颗树。

答案选C

第五题:

解析

第一步:画出哈夫曼树。

第二步:计算权值:30*2+16*2+21*2+10*3+12*3 = 200

答案选B

第六题:

解析:经过分析可知:23插到25的左子树上,经过判断失衡发生在根结点的右子树的左子树上,所以这是一个RL型的失衡。

这里可以使用传统方法,也可以使用简单方法,这里介绍一下简单方法:

直接找到20,30,25的中间结点25作为根结点,20<25<30,20作为左子树,30作为右子树直接构造出来,

16还是按照原来接在20的左子树上,30还是按照原来接在30的右子树上,最后23直接正常接上去就行。很简单。

答案选D

第七题:

解析:拓扑排序是依次找入度为0的点,并去掉这个点以及与之相连的连线。

首先是A,A除去后出现B这个入度为0的点。

A-B:出现C入度为0,选择C,

A-B-C:出现D入度为0,选择D,

A-B-C-D:出现E入度为0,选择E,

A-B-C-D-E:出现F入度为0,选择F,

A-B-C-D-E-F

只有A-B-C-D-E-F这一条序列。

答案选A

第八题:

解析:根据迪杰斯特拉算法正常演算即可,

答案选C

第九题:

解析

在这个B树中,根结点钟的关键字个数最多是3-1=2个,除叶子结点以外的非根节点中的关键字个数最多是3-1=2个,最少是3/2向上取整-1=1个,如果根结点是2个关键字,那么第二层就会有3个结点,而第二层只有4个关键字,则说明有2个关键字个数为1的结点和一个关键字个数为2的结点,对于关键字个数为1的结点可以分出两个子树出来,对于关键字个数为2的结点可以分出三个子树出来,那么这样一算第三层有7个结点,第二层有三个结点,加上根结点

一共是11个结点。

答案选A

第十题:

解析

先分配:

再连接:

,可以看到372之前是301,之后是892。

答案选C

第十一题:

解析:插入大根堆后调整的过程称为上刀山,将左右两个节点与根结点进行比较,最大的和根结点交换位置,依次进行调整,我们可以得到最终的H是:9875614

答案选B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gabriel Drop Out

饿饿!饭饭!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值