作者简介:大家好,我是未央;
博客首页:未央.303
系列专栏:笔试强训选择题
每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!!!
文章目录
前言
一、Day20习题(错题)解析
1.
2.
3.
4.E
5.
6.A
7.
8.
9.
10.A
总结
前言
一、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
总结