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

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

博客首页:未央.303

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

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

前言


一、Day20习题(错题)解析

1.

解析:C

解题思路

访问结点:此时是相当于遍历数组,所以时间复杂度为O(1);

增加结点:此时我们预计的是最坏的时间复杂度,应该是在数组的最前面插入,所以时间复杂度为O(n);


2.

 解析:B

解题思路
这道题其实很简单,但是必须首先要弄清题目的含义;

经过分析我们可以得到图示:

 所以我们知道当top[1]+1=top[2];说明此时数组和双栈已满;


3.

 解析:D

D:栈和队列的插入操作时间复杂度都是O(1);他们都是一条一条进行插入的;


4.E


5.

 解析:B

解题思路:

本题主要要记住几个结论才可完成:

结论1:设二叉树总共结点数为n,则其边长x=n-1;

结论2:设一个二叉树的叶子结点有n3个;度为1的结点有n2;度为2的结点有n1;

则有总结点数n=n1+n2+n3;(1)

我们知道度为1的结点只有1条边;而度为2的结点有2条边;叶子结点没有边;

所以得到:n2+2n1=边长x=n-1;(2)

结合上述(1)(2)式子

可得:n1-n3=-1;得:n3=n1+1=200;


6.A

前序遍历:访问根结点—>根的左子树—>根的右子树;

中序遍历:访问根结点—>根的左子树—>根的右子树;


7.

 解析:

解题思路

实际上就是小根堆的向上调整算法;

链接:http://t.csdn.cn/eRcT6


8.

 解析:D

链接:http://t.csdn.cn/nqx7Z


9.

解析:A

相关知识点

A:冒泡排序

链接转入:Java基础冒泡排序


D:堆排序

链接转入:Java堆排序


B:快排序

链接转入:Java快排序


10.A

总结

猜你喜欢

转载自blog.csdn.net/qq_64861334/article/details/130698111