zoukankan      html  css  js  c++  java
  • 2.25专项测试复盘

    • 采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是()
      A. 递归次数与初始数据的排列次序无关
      B. 每次划分后,先处理较长的分区可以减少递归次数
      C. 每次划分后,先处理较短的分区可以减少递归次数
      D. 递归次数与每次划分后得到的分区处理顺序无关

      解析:A递归次数和数据排列有关:若有序,这次数为O(N)。理论上最少的次数为O(logN)。BC 每次划分应该先处理较短的分许,只是减少递归占用的内存空间,并不能减少次数。
      答案:D

    • int main(){fork()||fork();}共创建几个进程:_____
      A. 1
      B. 2
      C. 3
      D. 4

      解析:一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。
      子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。
      在main这个主进程中,首先执行 fork() || fork(), 左边的fork()返回一个非零值,由于子进程会复制父进程,而且子进程会根据其返回值继续执行,就是说,在子进程中, fork() ||fork()这条语句左边表达式的返回值是0, 所以||右边的表达式要执行,这时在子进程中又创建了一个进程,
      即main进程->子进程->子进程,一共创建了3个进程。

      答案:C

    • 下列叙述中正确的是
      A. 程序执行的效率与数据的存储结构密切相关
      B. 程序执行的效率只取决于程序的控制结构
      C. 程序执行的效率只取决于所处处理的数据量
      D. 以上说法均错误

      解析:程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。
      答案:A

    • 下面是有关算法时间复杂度的论述,其中正确的说法是( )
      A. 算法的时间复杂度与数据规模无关
      B. 算法的时间复杂度与算法的语句频度无关
      C. 算法的时间复杂度与算法采用的解决问题的策略无关
      D. 算法的时间复杂度与选择的程序设计语言无关

      解析:A 除O(1)外,时间复杂度随问题的规模增大而增大;
      B 显然语句频度越高,高到多出一个量级,复杂度就变了;
      C 不同的策略,复杂度有可能是不同的;

      答案:D

    • 数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立

    • 抽象数据类型与计算机内部表示和实现无关

    • 若使用枚举法求解TSP算法,则时间复杂度是((n-1)!

    • 假设包含t个非零元素的稀疏矩阵A含有m行n列,并采用三元组顺序表压缩存储,其快速转置算法的时间复杂度为( )
      A. O(m+t)
      B. O(n+t)
      C. O(m+n)
      D. O(m*n)

      解析:快速转置:
      1.初始化所有列的非零元素的个数统计为0(n)
      2.统计每一列的非零元素个数(t)
      3.接着求每一列第一个非零元素的首位置(n)
      4.最后对每一个非零个数转置(t)。
      总共时间:2 * (n+t)
      于是,时间复杂度:O(n+t)
      https://blog.csdn.net/poklau/article/details/23710099

      答案:B

    • 分支限界法与回溯法都是在问题的解空间树T上搜索问题的解,但他们求解目标不同,搜索方式也不同。

    • 算法的5个基本特征:确定性、有穷性、输入、输出、可行性。

    • 当一棵具有n个叶结点的二叉树的WPL值为最小时,称其树为哈夫曼树,且其二叉树的形状不是唯一的。

    • 关于 0 - 1 背包问题以下描述正确的是( )。
      A. 可以使用贪心算法找到最优解
      B. 能找到多项式时间的有效算法
      C. 使用教材介绍的动态规划方法可求解任意0-1背包问题
      D. 对于同一背包与相同的物品,做背包问题取得的总价值一定大于等于做0-1背包问题

      答案:D

    • 下列叙述中正确的是
      A. 算法的效率只与问题的规模有关,而与数据的存储无关
      B. 算法的时间复杂度是指执行算法所需要的计算工作量
      C. 数据的逻辑结构与存储结构是一一对应的
      D. 算法的时间复杂度与空间复杂度一定相关

      解析:算法的效率与问题的规模和数据的存储结构都有关,A错误。算法的时间复杂度,是指执行算法所需要的计算工作量,B正确。由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结果和存储结构不是一一对应的,C错误。算法的时间复杂度和空间复杂度没有直接的联系,D错误。
      答案:B

    • 快排
      1.在完全无序的情况下效果最好,时间复杂度为O(nlogn)
      2.在有序情况下效果最差,时间复杂度为O(n^2)

    • 2^N个元素中挑选出最大的元素,至少需要做 2 ^N -1次比较

    • 算法的时间复杂度与运行算法时特定的输入有关

    • 若要在O(l)的时间复杂度上实现两个循环链表表头尾相接,则对应两个循环链表各设置一个指针,分别指向各自的尾节点。(尾节点后就是头节点)

  • 相关阅读:
    最长双回文串
    BUUOJ misc 二维码
    HDU 1284 钱币兑换问题 (动态规划 背包方案数)
    HDU 1260 Tickets (动态规划)
    HDU 1231 最大连续子序列 (动态规划)
    HDU 1203 I NEED A OFFER! (动态规划、01背包、概率)
    BUUOJ reverse SimpleRev (爆破)
    BUUOJ reverse 不一样的flag
    HDU 1176 免费馅饼 (动态规划、另类数塔)
    HDU 1171 Big Event in HDU (动态规划、01背包)
  • 原文地址:https://www.cnblogs.com/l999q/p/12361919.html
Copyright © 2011-2022 走看看