【笔试强训选择题】Day23.习题(错题)解析

作者简介:大家好,我是未央;

博客首页:未央.303

系列专栏:笔试强训选择题

每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!

文章目录

前言

一、Day23习题(错题)解析

1.

2.

3.D

4.

5.

6.C

7.

8.

9.

10.

总结



 

前言


一、Day23习题(错题)解析

1.

【笔试强训选择题】Day23.习题(错题)解析_第1张图片

 解析:C

解题思路:

本题涉及双向循环链表中进行插入新的节点;

就要涉及结点的操作改变来插入新的结点;

图示说明:

【笔试强训选择题】Day23.习题(错题)解析_第2张图片


2.

【笔试强训选择题】Day23.习题(错题)解析_第3张图片

 解析:A

解题思路:
我们将上述序列按完全二叉树进行排列:

【笔试强训选择题】Day23.习题(错题)解析_第4张图片

【笔试强训选择题】Day23.习题(错题)解析_第5张图片

我们发现 此排列方式满足的是大根堆(大顶堆)的排列方式;


3.D

【笔试强训选择题】Day23.习题(错题)解析_第6张图片


4.

【笔试强训选择题】Day23.习题(错题)解析_第7张图片

 解析:D

相关知识点:

A:递归次数与初始数据的有序性有关;

BCD:不管处理较长还是处理较短的分区,最终的处理次数是加起来的,与处理顺序无关;


5.

【笔试强训选择题】Day23.习题(错题)解析_第8张图片

 解析:D

解题思路:

本题比较巧妙;

第6层有9个叶子结点,此时求的是最大结点个数,认为存在第7层,且第6层排满的。

而前6层的总节点个数2^6 -1 = 63;

第6层本身有2^(6-1) =32,除去9个叶子结点其他23个结点都是度为2的结点;

所以得出第7层,23*2 = 46;所以总结点数:63+46= 109;


6.C

【笔试强训选择题】Day23.习题(错题)解析_第9张图片


7.

【笔试强训选择题】Day23.习题(错题)解析_第10张图片

 解析:D

解题思路:

本题主要考察对于最小堆插入操作的调整;

图示说明:

【笔试强训选择题】Day23.习题(错题)解析_第11张图片

为了确保在插入数字10后依然是个小根堆,所以要将10和28交换,依次比较父结点parent和子结点child的大小,当父小于子结点的时候,就返回,反之就一直交换,直到根部。

由前文的得知的规律,parent = (child - 1) / 2,我们可以从下到上调整子树,不断的更新child和parent下标,直到根部15;

需要注意的是:我们操控的是数组,但要把它想象成二叉树。


画图演示调整过程:

【笔试强训选择题】Day23.习题(错题)解析_第12张图片


8.

【笔试强训选择题】Day23.习题(错题)解析_第13张图片

 解析:C

解题思路:

本题要求的是平均查找长度,平均查找长度=查找的总次数/数组长度;

我们需要将线性表中的每一个数计算其散列地址,然后采用线性探测法查找每个数所需的次数,最后计算其平均查找长度;


首先根据散列函数h(key) = key%7进行计算出散列地址:

38——3;25——4;74——5;63——0;52——6;48——1;

 然后根据地址来找到每个数需要的查找次数:

【笔试强训选择题】Day23.习题(错题)解析_第14张图片

最后根据公式计算即可得:平均查找次数=2次;


9.

【笔试强训选择题】Day23.习题(错题)解析_第15张图片

解析:B

相关知识点:快速排序

链接转入:快速排序Java

【笔试强训选择题】Day23.习题(错题)解析_第16张图片


10.

【笔试强训选择题】Day23.习题(错题)解析_第17张图片

 解析:D

相关知识点:

二叉树已知前序遍历和中序遍历求其后续遍历;

应该先由前中序遍历求原二叉树,再求其后续遍历;


前中序遍历求原二叉树方法:

【笔试强训选择题】Day23.习题(错题)解析_第18张图片

 求其后续遍历;

【笔试强训选择题】Day23.习题(错题)解析_第19张图片

总结

【笔试强训选择题】Day23.习题(错题)解析_第20张图片

 

你可能感兴趣的:(笔试强训选择题,java,选择题,数据结构)