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

博客首页: 系列专栏: 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!


前言

一、Day24习题(错题)解析

1.

解析:A 解题思路: 1.首先先建立一个长度为N的最大/最小堆; 将这N条链表的第一个元素拿出来建立最小堆,时间复杂度为O(N); ⒉.依次从最小堆中取出元素(堆顶),此时堆顶就是当前集合的最小值,将链表的其他元素放入堆中。调整堆的时间复杂度(siftDown - O(logN)),总共还需要入堆的元素个数,O(N*M*logN) 3.总共:建堆+不断调整堆(不断取出堆顶元素)O(N)+O(N*M*logN)即O(N*M*logN);

2.D


3.

解析:B 解题思路: 数组长度和最多存放的元素个数(MAX) 又因为数组长度=MAX-1(判断队列满,浪费一个空间) 图示分析: 注意:这个题目可以当成一个结论记住;

4.C


5.

解析:C 解题思路 我们可以知道有结论:度为2的结点个数+1=度为0的结点个数; 推出方法: 1.度为0的结点+度为1的结点+度为2的结点=总结点个数; 2.边长=总节点个数-1;

6.

解析:B 解题思路: 中序遍历:左根右,由中序遍历遍历一个数组的时候可以得到从小到大的序列;

7.

解析:C 解题思路: 删除8之后,10到8的位置,12到10的位置,所以最后一个结点应该是16;

8.

解析:E 解题思路: n个关键字入哈希表的过程: 第一个关键字进入:1次; 第二个关键字进入:2次; 第三个关键字进入:3次; ........................... 第n个关键字进入:n次; 所以总次数=1+2+3+4.......+n=n(n+1)/2

9.

解析:C

10.

解析:B 解题思路 记住即可,堆排序的平均时间复杂度和空间复杂度分别为:O(Nlog2N)和O(1);

总结

经验分享 程序员 微信小程序 职场和发展