提示:内容已经过期谨慎付费,点击上方查看最新答案

算法大视界

  1. 对于哈希表而言,由于存储位置灵活,不会出现冲突的现象。


  2. A:错 B:对
    AI参考:正确答案是B:对。哈希表是一种基于哈希算法的数据结构,其优点在于存储位置灵活,能够快速定位元素的位置,而不会出现冲突的现象。这是因为哈希表在存储元素时,会根据哈希函数将元素映射到特定的位置,从而避免了因元素位置冲突而导致的查找效率下降的问题。因此,答案为B:对。'
  3. 不含回路的有向图一定存在拓扑排序( )


  4. A:错 B:对
    答案:对
  5. 一棵哈夫曼树中不存在度为1的结点。(    )

  6. A:错 B:对
    答案:对
  7. 二叉排序树的左右子树也都是二叉排序树。


  8. A:错 B:对
    答案:对
  9. 在队列中,允许插入的一端叫做队头(front),允许删除的一端称为队尾(rear)

  10. A:对 B:错
    答案:对AI参考:正确答案是A:对。在队列中,允许插入的一端称为队头,允许删除的一端称为队尾,这种说法是正确的。队列是一种特殊的线性表,它只允许在表的前端(队头)进行删除操作,在表的后端(队尾)进行插入操作。'
  11. 完全二叉树指的是树中所含的 n 个结点和满二叉树中编号为 1 至 n 的结点一一对应

  12. A:错 B:对
    AI参考:答案:A。完全二叉树是一种特殊的二叉树,它满足以下条件:* 除了最下面一层的节点,每一层的节点数都达到最大;* 最下面一层的节点自左向右连续。因此,完全二叉树中的节点编号不一定是从1到n,因此完全二叉树和满二叉树不一定一一对应。所以该题目中的说法是错误的。'
  13. 快速排序是基于比较的排序算法中平均性能最好的一种排序。(  )

  14. A:对 B:错
    答案:对
  15. 以下哪些算法可以检测一个有向图中是否存在环( )


  16. A:拓扑排序 B:深度优先遍历 C:关键路径算法 D:广度优先遍历
    AI参考:正确选项是【D:广度优先遍历】。广度优先遍历算法可以用于检测有向图中是否存在环。在遍历过程中,如果发现一条路径上的节点都被访问过,而这条路径无法继续向前延伸,那么就说明图中存在环。因此,广度优先遍历算法可以有效地检测有向图中是否存在环。拓扑排序、深度优先遍历和关键路径算法虽然也可以用于图的遍历和检测,但它们并不直接用于检测环。'
  17. 线性表的运算中,哪些会改变数据元素之间结构关系(  )

  18. A:插入 B:删除 C:排序 D:定位

  19. 计算机算法必须具备(  )等特性。

  20. A:可行性 B:确定性 C:易读性 D:输入、输出 E:有穷性
    AI参考:计算机算法必须具备的特性有:确定性(B)、可行性(A)、有穷性(E)。这些特性保证了算法能够明确、具体、无歧义地解决问题,并在有限的步骤内完成。易读性(C)也是衡量一个算法质量的重要指标,因为良好的可读性可以使人们更容易理解和修改算法。而输入/输出(D)则更偏向于与计算机程序语言相关的概念,而不是算法本身的特性。因此,答案是 B、A、E。'
  21. 使用直接选择排序算法对序列18,23,19,9,23,15进行排序,第3趟排序后的结果为(   )

  22. A:9,23,19,18,23,15 B:9,15,18,23,23,19 C:18,19,23,9,23,15 D:18,19,23,9,15,23

  23. 一棵3阶B-树中含有2047个关键字,包括叶子结点层,该树的最大深度为( )


  24. A:14 B:12 C:11 D:13
    AI参考:正确答案是D:13。一棵3阶B-树是指每个内部节点含有3个子树,每个子树中包含若干关键字。对于一个含有2047个关键字的B-树,它的最大深度应该为(log2047+1)/3+1=13。因此,本题答案为D。'
  25. 采用顺序查找方法查找长度为n的线性表时,不成功情况下的平均比较次数为( )

  26. A:(n-1)/2 B:n/2 C:(n+1)/2 D:n

  27. 一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是(  ) 

  28. A:100 B:110 C:120 D:108

  29. 具有10个叶子结点的二叉树中有( )个度为2的结点

  30. A:11 B:8 C:9 D:10

  31. 有向无环图G中的有向边集合E={<V1,V2>,<V2,V3>,<V3,V4>,<V1,V4>},则下列属于该有向无环图G的一种拓扑排序序列的是(      )


  32. A:V2,V3,V4,V1 B:V1,V4,V2,V3 C:V1,V2,V3,V4 D:V1,V2,V4,V3
    AI参考:正确答案是C:V1,V2,V3,V4。根据拓扑排序的定义,给定有向无环图G,若E是有向边集合,则拓扑排序序列是E中所有边的逆序排列。根据题目给出的有向边集合E={<V1,V2>,<V2,V3>,<V3,V4>,<V1,V4>},可知有向边集合E中的每一条边都构成了有向环路,因此拓扑排序序列应该是从起点开始按照边的逆序排列的顺序进行排序。选项C中的顺序为V1,V2,V3,V4,与题目中的边集合的逆序排列顺序一致,因此选项C为正确答案。其他选项不符合拓扑排序的定义和规律。'
  33. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pN,若pN是n,则pi是(     )。

  34. A:i B:n-i+1 C:不确定 D:n-i

  35. 一棵二叉树中有7个叶子结点和5个单分支结点,其总共有( )结点。

  36. A:31 B:12 C:16 D:18

  37. 设一棵哈夫曼树共有n个非叶结点,则该树一共有(   )个结点

  38. A:2*(n-1) B:2*n +1 C:2*n-1 D:2*n

  39. 算法的时间复杂度与( )有关

  40. A:程序设计语言 B:问题的规模 C:编译程序的质量 D:计算机硬件性能

  41. 图的BFS生成树的树高比DFS生成树的树高(   ) 

  42. A:大或相等 B:小 C:大 D:小或相等

  43. 用二叉链表表示具有n个结点的二叉树时,值为空的指针域的个数为( )

  44. A:n B:n-1 C:2n D:n+1
    AI参考:正确答案是B:n-1。二叉树的节点数为n,除了根节点外,每个节点有两个子节点,即左右子节点,所以值为空的指针域的个数为n-1。因此,答案为B。'
  45. 设无向图G中有n个顶点,则该无向图的最小生成树上有(   )条边。

  46. A:n-1 B:2n-1 C:n D:2n

  47. 以下关于链式存储结构的描述中,( )是不正确的。

  48. A:插入删除方便,不必移动结点。 B:结点除自身信息外还包括指针域,因此存储密度不是很大。 C:结点除自身信息外还包括指针域,因此存储密度不是很大 D:可以通过计算直接确定第i个结点的地址。
    AI参考:正确选项是【B:结点除自身信息外还包括指针域,因此存储密度不是很大】。链式存储结构是用一组地址连续的存储单元存放数据元素,每个数据元素又包含数据和指向下一个元素的指针。由于需要使用指针来链接各个元素,所以存储密度相对较小。而链式存储结构的主要优点是插入和删除操作方便,不必移动元素。可以通过计算直接确定第i个节点的地址。因此,选项B描述是不正确的。'
  49. 在双向链表存储结构中,删除p所指结点时须修改指针( )

  50. A:p->prior->next=p;p->prior=p->prior->prior; B:p->next=p->next->next;p->next->prior=p; C:p->prior=p->next->next;p->next=p-->prior->prior; D:p->next->prior=p->prior;p->prior->next=p->next;

  51. 以下数据结构中,是非线性数据结构的是( )

  52. A:队列 B:树 C:串 D:栈

  53. 一个栈的输入序列为:1,2,3,4,则栈的不可能输出的序列是(    )。

  54. A:3214 B:4312 C:1432 D:1243 E:2134

  55. 已知一个单链表中,指针q指向指针p的前驱结点,若在指针q所指结点和指针p所指结点之间插入指针s所指结点,则需执行(     )


  56. A:q→next=s;s→next=p; B:q→next=s;p→next=s; C:q→next=s;q→next=p; D:q→next=s;s→next=q;

  57. 线性表的链表存储结构和顺序存储结构相比,优点是( )

  58. A:便于插入和删除元素 B:便于随机存取 C:所有的操作算法实现简单 D:节省存储空间

  59. 设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出栈排列是(      )。

  60. A:ZYX B:YZX C:ZXY D:XYZ

  61. 深度为3的二叉树至多有( )结点

  62. A:8 B:6 C:7 D:5

  63. 设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用(     )最节省时间。

  64. A:单循环链表 B:带头结点的双循环链表 C:带尾指针的单循环链表 D:单链表

  65. 用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数最少的是(     )。

  66. A:21,32,46,40,80,69,90,94 B:94,32,40,90,80,46,21,69 C:90,69,80,46,21,32,94,40  D:32,40,21,46,69,94,90,80

  67. 若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?(     )

  68. A:2和4 B:4和2 C:5和1 D:1和5

  69. 某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(     )存储方式最节省运算时间。

  70. A:仅有头指针的单循环链表 B:单链表 C:仅有尾指针的单循环链表 D:双链表

  71. 设有6个结点的无向图,该图至少应有(       )条边才能确保是一个连通图。

  72. A:7 B:5 C:6 D:8
    AI参考:正确答案是D,8条边。一个连通图至少需要8条边才能确保,因为最少需要3条边才能形成一个连通子图,加上另外5条边可以形成至少一个连通块。因此,答案为D,即8条边。'
  73. 设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动(   )个元素。

  74. A:i B:n-i C:n+l -i D:n-1-i

  75. 以下哪个数据结构不是多型数据类型( )

  76. A:有向图 B:栈 C:广义表 D:字符串

  77. 堆是一种有用的数据结构。下列关键码序列 (  )  是一个堆。

  78. A:16,31,23,94,53,72 B:94,53,31,72,16,23 C:16,53,23,94,31,72 D:94,31,53,23,16,72

  79. 设无向图的邻接表如图所示,则该图的边数为(    )

    image.png


  80. A:20 B:10 C:5 D:4

  81. 线性表采用链式存储结构时,要求内存中可用存储单元的地址( )

  82. A:必须是连续的 B:一定是不连续的 C:必须是部分连续的 D:连续和不连续都可以

  83. 队列的插入操作是在(    )。

  84. A:队头元素后 B:队尾 C:队头 D:队列任意位置

  85. 有一个有序表为(1,3,9,12,32,41,45,62,75,77,82,95,100),当二分查找值为82的结点时,( )比较后查找成功。

  86. A:4 B:8 C:1 D:2

  87. 关于方法的递归,以下说法正确的是(   )


  88. A:方法递归就是指在一个方法的内部调用自身的过程 B:方法递归是指方法的返回值不同 C:其他说法都不对 D:方法递归其实就是调用其他方法

  89. 设一组初始记录关键字序列为(25,50,15,35,80,85,20,40,36,70),其中含有5个长度为2的有序子表,则用归并排序的方法对该记录关键字序列进行一趟归并后的结果为(    )。

  90. A:15,25,35,50,80,85,20,36,40,70 B:15,25,35,50,80,20,85,40,70,36 C:15,25,35,50,20,40,80,85,36,70 D:15,25,35,50,80,20,36,40,70,85

  91. 栈和队列的共同点是( )

  92. A:没有共同点 B:只允许在端点处插入和删除元素 C:都是后进后出 D:都是先进先出

  93. 具有10个记录的序列,采用冒泡排序最少的比较次数是 (     )

  94. A:9 B:81 C:54 D:1

  95. 若二叉排序树是有N个结点的完全二叉树,则不正确的说法是:( )

  96. A:最大值一定在叶结点上 B:中位值结点在根结点或根的左子树上 C:所有结点的平均查找效率是O(logN) D:最小值一定在叶结点上

  97. 以下排序方法中,( )不需要进行关键字的比较。

  98. A:基数排序 B:归并排序 C:堆排序 D:快速排序

  99. 以下查找方法中,查找效率与记录个数n无直接关系的是( )

  100. A:顺序查找 B:哈希查找 C:二叉排序树查找 D:折半查找

  101. n个结点的完全有向图含有边的数目( )

  102. A:n(n-l) B:n(n+1) C:n2 D:n/2

  103. 元素的进栈次序为A,B,C,D,E,则退栈中不可能的序列是( )

  104. A:B,C,D,E,A B:A,B,C,D,E C:E,D,C,B,A D:E,A,B,C,D

  105. 如果从无向图的任一顶点出发进行一次深度优先遍历即可访问所有顶点,则该图一定是( )

  106. A:一棵树 B:有回路 C:完全图 D:连通图

  107. 下列关于递归算法说法错误的是( )


  108. A:寻找对问题进行分解的方法是递归算法设计的关键步骤 B:递归算法描述简洁,结构清晰,算法的正确性比较容易证明,因此,能够用递归描述的算法都用递归算法进行描述 C:递归算法指函数、过程、子程序在运行过程中直接或间接调用自身而产生的重入现象 D:递归算法包括递推和回归两个阶段
    AI参考:正确选项是B:递归算法描述简洁,结构清晰,算法的正确性比较容易证明,因此,能够用递归描述的算法都用递归算法进行描述。虽然递归算法描述简洁,结构清晰,并且算法的正确性比较容易证明,但是并不是能够用递归描述的算法都用递归算法进行描述。有些问题不适合用递归描述,或者用递归描述的算法效率较低。因此,需要根据具体问题选择合适的算法描述方式。'
  109. 在非空线性链表中由p所指结点的后面插入一个由q所指的结点,应依次执行

  110. A:q->next=p->next;p=q; B:.q->next=p;p->next=q C:q->next=p->next;p->next=q; D:p->next=q;q->next=p;

  111. 以下关于线性表的叙述,正确的是( )

  112. A:线性表中元素的排列次序必须是由小到大或由大到小 B:除第一个和最后一个元素外,其余每个元素都有一个且仅有一个前驱和后继元素 C:线性表中至少有一个元素 D:每个元素都有一个前驱和后继元素

  113. 堆排序是一种  ( )  排序。

  114. A:插入 B:交换 C:归并 D:选择
    AI参考:正确选项是C:归并排序。堆排序是一种利用堆这种数据结构所设计的排序算法,它是选择排序的一种。堆排序可以有效地处理大型数据集,具有较高的效率。堆排序的主要步骤包括建堆和排序两个部分,其中建堆是将一个无序数组转化为堆结构,排序则是将堆结构中的元素逐个取出并重新构造堆结构。因此,选项C“归并排序”是正确的答案。'
  115. 循环队列存储在数组A[0..m]中,则入队时的操作为(  )。 

  116. A:rear=(rear+1) mod m B:rear=rear+1 C:rear=(rear+1)mod(m+1)  D:rear=(rear+1) mod (m-1) 

  117. 一个图的邻接矩阵不是对称矩阵,则该图可能是(  )


  118. A:其他都不对 B:无向图 C:有向图 D:无向图或有向图

  119. 根据使用频率为5个字符设计的哈夫曼编码不可能是( )

  120. A:000,001,010,011,1 B:0000,0001,001,01,1 C:000,001,01,10,11 D:00,100,101,110,111

温馨提示支付 ¥2.55 元后可查看付费内容,请先翻页预览!
点赞(1) dxwkbang
返回
顶部