2.21专项测试复盘

  • 以下哪几种方式可用来实现线程间通知和唤醒:( )
    A. Object.wait/notify/notifyAll
    B. ReentrantLock.wait/notify/notifyAll
    C. Condition.await/signal/signalAll
    D. Thread.wait/notify/notifyAll

    解析:Condition是在java 1.5中才出现的,它用来替代传统的Object的wait()、notify()实现线程间的协作,相比使用Object的wait()、notify(),使用Condition1的await()、signal()这种方式实现线程间协作更加安全和高效。因此通常来说比较推荐使用Condition,在阻塞队列那一篇博文中就讲述到了,阻塞队列实际上是使用了Condition来模拟线程间协作。
    答案:AC

  • 算法的时间复杂度取决于()
    A. 问题的规模
    B. 待处理数据的初态
    C. A和B

    答案:C

  • 下列排序方法中,若将顺序存储更换为链式存储,则算法的时间效率会降低的是 。
    Ⅰ.插入排序 Ⅱ.选择排序 Ⅲ.起泡排序 Ⅳ.希尔排序 Ⅴ.堆排序
    A. 仅Ⅰ、Ⅱ
    B. 仅Ⅱ、Ⅲ
    C. 仅Ⅲ、Ⅳ
    D. 仅Ⅳ、Ⅴ

    解析:插入排序、选择排序、起泡排序原本时间复杂度是O(n2),更换为链式存储后的时间复杂度还是O(n2)。希尔排序和堆排序都利用了顺序存储的随机访问特性,而链式存储不支持这种性质,所以时间复杂度会增加,因此选D。
    答案:D

  • T(n) = 25T(n/5)+n^2的时间复杂度?
    A. O(n^2(lgn))
    B. O(n^2)
    C. O(lgn)
    D. O(n^3)

    解析:
    T(n) = 25T(n/5) + n^2
    = 25
    ( 25T(n/25) + (n/5)2 ) + n^2
    = 5^4
    T(n/52) + 2n^2
    = 5^(2k)
    T(n/5k) + kn^2
    根据主方法,有T(n) = aT(n/b)+O(n^d), 则a=5^(2k), b=5k, d=2, a=b^d。
    所以T(n)=O(n^d
    (lgn))=O(n^2(lgn)).

    答案:A

  • 下列关于线性表,二叉平衡树,哈希表存储数据的优劣描述错误的是?
    A. 哈希表是一个在时间和空间上做出权衡的经典例子。如果没有内存限制,那么可以直接将键作为数组的索引。那么所有的查找时间复杂度为O(1);
    B. 线性表实现相对比较简单
    C. 平衡二叉树的各项操作的时间复杂度为O(logn)
    D. 平衡二叉树的插入节点比较快

    解析:在平衡二叉树中插入结点要随时保证插入后整棵二叉树是平衡的,所以可能需要通过一次或多次树旋转来重新平衡这个树
    答案:D

  • 已知一段文本有1382个字符,使用了1382个字节存储,这段文本全部是由a、b、c、d、e字符组成,a 354次,b 483次,c 227次,d 96次,e 222次,对这5个字符使用哈夫曼编码。则以下说法正确的是?
    A. 使用哈夫曼编码后,使用编码值来存储这段文本将花费最少的存储空间、
    B. 使用哈夫曼编码后,a b c d e 这5个字符对应的编码值是唯一确定的
    C. 使用哈夫曼编码后,a b c d e 这5个字符对应的编码值可以有多套,但每个字符的编码位数是确定的
    D. d这个字符的编码位数最短,d这个字符的哈夫曼编码位数应该最长

    解析:对于哈夫曼树的最小权值的两个结点,位置可以互换,从而编码换了,但是编码的效率不变。
    答案:ACD

  • 折半查找与二元查找树的时间性能在最坏的情况下是相同的()
    A. 对
    B. 错

    解析:折半查找最坏的情况下查找log(n)+1次,而二叉查找树最坏的情况是查找n次。
    答案:B

  • 对长度为n的有序表进行折半查找的判定树的高度为「log2n+1]

原文地址:https://www.cnblogs.com/l999q/p/12341586.html

时间: 2024-11-13 22:05:31

2.21专项测试复盘的相关文章

2.20专项测试复盘

对于非运行时异常,程序中一般可不做处理,由java虚拟机自动进行处理. A. 正确 B. 错误 解析:运行异常,可以通过java虚拟机来自行处理.非运行异常,我们应该捕获或者抛出. 答案:B 下面哪些类可以被继承? Java.lang.Thread.java.lang.Number.java.lang.Double.java.lang.Math. java.lang.ClassLoader A. Thread B. Number C. Double D. Math E. ClassLoader

2.12Java专项测试复盘

以下哪个接口的定义是正确的?( ) A. interface B { void print() { } ;} B. interface B { static void print() ;} C. abstract interface B extends A1, A2 //A1.A2为已定义的接口 { abstract void print(){ };} D. interface B { void print();} 解析:接口中方法的默认修饰符时public abstract,抽象方法可是没有方

2.14Java专项测试复盘

在 main() 方法中给出的整型数组,如果将其写到一个文件中,需要( ). A. System.out.print (buffer[i]); B. DataOutputStream dout = new DataOutputStream(new FileOutputStream(this.filename)); C. DataInputStream din = new DataInputStream(new FileInputStream(this.filename));. D. System

2.16Java专项测试复盘

运行代码,输出的结果是() public class P { public static int abc = 123; static{ System.out.println("P is init"); } } public class S extends P { static{ System.out.println("S is init"); } } public class Test { public static void main(String[] args)

2.18Java专项测试复盘

结构型模式中最体现扩展性的模式是() A. 装饰模式 B. 合成模式 C. 桥接模式 D. 适配器 解析:装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. 答案:A 以下描述正确的是() A. CallableStatement是PreparedStatement的父接口 B. PreparedStatement是CallableStatement的父接口 C. CallableStatement是Stateme

2.23专项测试复盘

将关键字序列50,40,95,20,15,70,60,45,80调整成一个小根堆,堆结构是15,20,60,45,40,70,95,50,80(). 解析:创建堆的基本思想:先把无序的关键字按顺序构造成完全二叉树,从最后一个分支节点开始往前,不断地利用筛选算法,将一棵棵子树调整为一个堆(让根与其左右子节点比,将他们三个最小的值选出来作为根,反复交换使所有结点满足小根),一直进行到完全二叉树的根节点为止. 答案:√ 设某强连通图中有 n 个顶点,则该强连通图中最小的边数为n,最大边数为n(n-1)

2.24专项测试复盘

以下与数据的存储结构无关的术语是() A. 循环队列 B. 链表 C. 哈希表 D. 栈 解析:存储结构是数据的逻辑结构用计算机语言的实现,常见的存储结构有: 顺序存储 , 链式存储 , 索引存储 ,以及 散列存储 .其中散列所形成的存储结构叫 散列表(又叫哈希表) ,因此哈希表也是一种存储结构.栈只是一种抽象数据类型,是一种逻辑结构,栈逻辑结构对应的顺序存储结构为顺序栈,对应的链式存储结构为链栈,循环队列是顺序存储结构,链表是线性表的链式存储结构 答案:D 下面的一些说法哪些是正确的:( )

【金阳光测试】KK公益讲座第63期-5月30号(周六晚八点) 分享主题: IOS专项测试基础

[金阳光测试]KK公益讲座第63期-5月30号(周六晚八点)分享主题: IOS专项测试基础听课地点:http://www.chuanke.com/1983382-110713.html主讲:小白老师老师简介:前风行网.腾讯测试,现为一流互联网公司任职高级开发测试时间:5月30号 晚上8点开始

Android性能专项测试测试点指导(二)

Android性能专项测试测试点指导(一) 上一篇文章通过导图的方式介绍了性能专项的几个测试点,那么今天将会详细阐述下. 内存: 内存泄漏: 老生常谈的最多就是这货,这家伙的测试方法其实是最简单也是最难的,为什么简单,因为你要定位到路径,只需要重复操作即可,比如你怀疑播放器泄漏了,重复进入退出N次,那么就可以确定是播放器出问题了,可以提单了:说难,你需要进一步分析到底是哪里泄漏了,通过MAT工具去对比,去分析定位到类,那就需要精力和时间了,通常还吃力不讨好-最近,出现了这样一个工具LeakCan