• 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) + k*n^2
      根据主方法,有T(n) = aT(n/b)+O(n^d), 则a=5^(2k), b=5k, d=2, a=b^d。
      所以T(n)=O(nd*(lgn))=O(n2(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]

  • 相关阅读:
    rust 实战 实现一个线程工作池 ThreadPool
    rust Cell 与 RefCell的区别
    使用pre标签显示原始文本并自动换行
    rust实战 newtype模式
    什么是幻读,怎么解决幻读
    rust match 模式匹配摘录
    Elasticsearch 8的版本来了;可以直接在 Elasticsearch 中使用 PyTorch Machine Learning 模型
    神奇的库 phone
    python中单例的实现
    斐波那契查找
  • 原文地址:https://www.cnblogs.com/l999q/p/12341586.html
Copyright © 2020-2023  润新知