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

数据结构

  1. 设某棵二叉树中有2000个结点,则该二叉树的最小高度为( )。

  2. A:11 B:12 C:9 D:10
    答案:11
  3. 下面算法时间复杂度最小的是( )。

  4. A:冒泡排序 B:直接插入排序 C:快速排序 D:简单选择排序
    答案:快速排序
  5. 在一棵二叉排序树上按( )遍历得到的结点序列是一个有序序列。

  6. A:中序 B:先序 C:后序 D:层次
    答案:中序
  7. 某二叉树结点中序序列为BDAECF,后序序列为DBEFCA,则该二叉树对应的森林包括( )棵树。

  8. A:4 B:1 C:2 D:3
    答案:3
  9. 二维数组A[10][20]采用列序为主方式存储,每个元素占1个存储单元,并且A[0][0]的存储地址是200,则A[6][12]的地址是( )。

  10. A:326 B:256 C:314 D:288
    答案:326
  11. 设有5000个待排序的记录关键字,如果需要用最快的方法选出其中最小的10个记录关键字,则用下列( )方法可以达到此目的。

  12. A:快速排序 B:归并排序 C:堆排序 D:插入排序

  13. 在长度为n的顺序表中,要删除第i(1≦i≦n)个元素时,则需要向前移动元素的个数为( )。

  14. A:i B:n-i C:n-i-1 D:n-i+1

  15. 在单链表L中,指针p所指结点有后继结点的条件是( )。

  16. A:p->next!=null B:p =p->next C:p->next=null D:p->next = p->next. Next

  17. 判定一个环形队列qu(最多元素为MaxSize)为空的条件是( )。

  18. A:qu->rear-qu->front==MaxSize B:qu->front==qu->rear+1 C:qu->front==qu->rear D:qu->rear-qu->front-1==MaxSize

  19. 设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为Nl,……,度数为m的结点数为Nm,则N0=( )。

  20. A:2Nl+3N2+……+(m+1)Nm B:N2+2N3+3N4+……+(m-1)Nm C:l+N2+2N3+3N4+……+(m-1)Nm D:Nl+N2+……+Nm

  21. 某程序的时间复杂度为(3n+nlog2n+n^2+8),其数量级表示为( )。


  22. A:O(log2n) B:O(n) C:O(n^2) D:O(nlog2n)
    AI参考:正确答案是D:O(nlog2n)。时间复杂度是指算法中执行次数最多的操作次数,该程序的时间复杂度为3n+nlog2n+n^2+8,其中3n和8是常数,可以忽略不计,主要看后面的部分。nlog2n是执行次数最多的操作,数量级为O(nlog2n),因此答案为D。'
  23. 设非空单链表的数据域为data,指针域为next,指针p指向单链表中第i个结点,s指向已生成的新结点,现将s结点插入到单链表中,使其成为第i+1个结点,下列算法段能正确完成上述要求的是( )。


  24. A:s->next->p->next;p->next=s B:p=s;s->next=p C:p->next=s;s->next=p->next; D:s->next=p->next;p->next=s;

  25. 在查找过程中, 若同时还要增、删工作,这种查找称为( )。

  26. A:静态查找 B:外查找 C:动态查找 D:内查找

  27. 设F是由T1、T2和T3三棵树组成的森林,与F对应的二叉树为B,T1、T2和T3的结点数分别为N1、N2和N3,则二叉树B的根结点的左子树的结点数为( )。

  28. A:N2-1 B:N1+N3 C:N1-1 D:N2+N3

  29. 已知有序查找表(4,6,10,12,20,30,50,70,88,100)。若查找56,则需依次与查找表中( )进行比较,直到查找失败。

  30. A:20,70,30,50 B:30,88,50 C:20,50 D:30,88,70,50
    AI参考:已知有序查找表(4,6,10,12,20,30,50,70,88,100)。若查找56,查找顺序为20,50。正确答案为C。推理过程如下:* 初始查找值56,查找表中最小值为4,大于56,因此需要与下一个值进行比较。* 查找表中第二个值为6,小于56,因此需要与下一个值进行比较。* 查找表中第三个值为20,大于56,因此需要与下一个值进行比较。* 查找表中第四个值为50,大于56,但与56的差值较小,因此选择这个值作为中间值进行判断。* 最终,查找表中第五个值为70,大于56,因此判断查找失败。综上所述,答案为C(20,50)。'
  31. 若串S=’software’,其子串的数目是( )。

  32. A:36 B:9 C:37 D:8

  33. 设数组A行下标i从1到8,列下标j从1到10,每个元素占3个字节,首地址为SA则该数组按行存放时,元素A[8][5]的起始地址为( )。

  34. A:SA+255 B:SA+222 C:SA+144 D:SA+278

  35. 设串s1=”Data Structures with”,s2=”it”,则子串定位函数index的值为( )。

  36. A:18 B:15 C:16 D:17

  37. 设无向图的顶点个数为n,则该图最多有( )条边。


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

  39. 冒泡排序是一种简单的排序方法,其时间复杂度为( )。


  40. A:O(n) B:O(n^3) C:O(nlog2n) D:O(n^2)

  41. 以下算法的时间复杂度是( )。i=s=0;While(s<n){i++;s+=i;}


  42. A:O(log2n) B:O(n^2) C:O() D:O(n)

  43. 判断一个环形队列qu(最多元素为Maxsize)为满队列的条件是( )。

  44. A:qu.front!= (qu.rear+1)%Maxsize B:qu.front!=qu.rear C:qu.front=qu.rear D:qu.front=(qu.rear+1)%Maxsize
    AI参考:正确答案是D:qu.front=(qu.rear+1)%Maxsize。判断环形队列是否为满队列的条件是队头指针front等于队尾指针rear加一后的余数是否等于0,如果等于0,则队列为满队列。所以选项D是正确的。其他选项均有可能造成误解或歧义。'
  45. 在长度为n的顺序表中,若要在第i(1≦i≦n)个位置插入一个元素时,为留出插入位置需要移动的元素个数为( )。

  46. A:i B:n-i C:n-i-1 D:n-i+1
    AI参考:正确答案是D:n-i+1。这是因为原本在n-i个位置的元素需要向后移动一个位置,同时在最前面需要插入一个新元素,所以总共需要移动n-i+1个元素。'
  47. 用邻接表表示的图进行广度优先遍历时,通常是采用( )来实现算法的。

  48. A:树 B:队列 C:栈 D:图

  49. 某二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树一定是( )。

  50. A:空或只有一个结点 B:高度等于其结点的树 C:完全二叉树 D:二叉排序树

  51. 若串S=’computer’,其真子串的数目是( )。

  52. A:9 B:37 C:8 D:36

  53. 设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为( )。

  54. A:BCDA B:CBDA C:BADC D:CDAB

  55. 在一棵非空二叉树的中序遍历序列中,根结点的右边为( )。


  56. A:只有右子树上部分结点 B:只有右子树上所有结点 C:只有左子树上所有结点 D:只有左子树上部分结点

  57. 对一组记录的关键字(84,47,25,15,21)进行排序,在排序过程中,关键字序列变化为:
    (1)(84,47,25,15,21) (2)(47,25,15,21,84)
    (3)(25,15,21,47,84) (4)(15,21,25,47,84)
    则采用的排序方法为( )。

  58. A:希尔排序 B:直接插入排序 C:冒泡排序 D:快速排序

  59.  计算机系统处理的表达式过程中,运算的中间结果值会(   )



  60. A:存入运算符栈 B:存入操作数栈 C:返回给用户 D:销毁

  61. 将10个元素散列到1000000元的哈希表,则( )产生冲突。


  62. A:一定会 B:仍可能会 C:答案都不对 D:一定不会

  63. 线性表是由n个相同数据类型的( )构成的有限序列。

  64. A:数据元素 B:字符 C:表元素 D:数据项
    AI参考:正确答案是A:数据元素。线性表是由n个相同数据类型的数据元素构成的有限序列。线性表是一种基本的数据结构,它具有一个或多个数据元素,这些数据元素在表中按顺序排列,并且具有固定的长度。因此,选项A是正确的。选项B、C、D都不符合线性表的定义。'
  65. 森林的遍历有( )。

  66. A:先序遍历 B:层次遍历 C:后序遍历 D:中序遍历
    AI参考:正确答案是【ABD】。森林的遍历主要有先序遍历、层次遍历、中序遍历。因此,选项A、B、D为正确选项。选项C的后序遍历主要用于二叉树遍历。'
  67. 下列说法正确的有( )。

  68. A:数据的逻辑结构与数据元素本身内容和形式无关。 B:算法和程序没有区别,在讨论数据结构时可以等同。 C:从逻辑上数据结构可以分为线性结构和非线性结构两类。 D:所谓逻辑结构是指数据元素间的逻辑关系。
    AI参考:正确选项为:ACD。解释:A. 选项:数据的逻辑结构与数据元素本身内容和形式无关,这是正确的。逻辑结构是数据元素之间逻辑关系的反映,比如线性结构中元素之间是按照顺序排列的,树形结构中元素之间存在父子、兄弟等关系。这些关系与数据元素的内容和形式无关。B. 选项:算法和程序有区别,算法是对解题方案的具体描述,程序则是按照算法设计的步骤编写的代码,因此在讨论数据结构时不可以等同。C. 选项:从逻辑上数据结构可以分为线性结构和非线性结构两类,这是正确的。线性结构包括线性表、栈、队列等,非线性结构包括树、图等。D. 选项:逻辑结构是指数据元素间的逻辑关系,这是正确的。逻辑结构描述的是数据元素之间的逻辑关系,比如线性结构中元素之间是按照顺序排列的,树形结构中元素之间存在父子、兄弟等关系。因此,B选项错误,其他选项均正确。'
  69. 下列哪些线性表便于插入和删除操作?( )

  70. A:双链表 B:单链表 C:静态链表 D:顺序表
    AI参考:正确选项为 D:顺序表。顺序表是一种用数组实现的线性表,其元素按照逻辑顺序顺序存储在一块连续的内存空间中。由于顺序表的所有元素都是直接存储在一块连续的内存空间中,因此插入和删除操作的时间复杂度与顺序表的长度成线性关系。同时,顺序表的链式存储方式使得其容易进行插入和删除操作,并且不会像单链表那样存在头尾不能处理的缺点。因此,顺序表是四种线性表中便于插入和删除操作的线性表之一。A、B、C选项中,双链表和静态链表不是常用的线性表数据结构,而单链表不适合进行随机访问,因此在插入和删除操作时效率较低。因此,答案为D。'
  71. 下列方法中,( )算法的时间复杂度为0(nlogn)。

  72. A:堆排序 B:简单选择排序 C:快速排序 D:希尔排序
    AI参考:正确选项为:C:快速排序和D:希尔排序。快速排序和希尔排序的时间复杂度为O(nlogn)。堆排序的时间复杂度为O(nlogn),但通常在实现时会选择使用更高效的堆数据结构。简单选择排序的时间复杂度为O(n^2),不适合作为选择算法来使用。'
  73. 下列哪些属于算法的特征( )。

  74. A:输入和输出 B:可行性 C:确定性 D:有穷性
    AI参考:正确选项为B、C、D。算法的特征包括:1. 可行性:算法必须在有限时间内完成,不能是无限的。2. 确定性:算法中的每个步骤都必须有明确的规定,不能有模糊或不确定的步骤。3. 有穷性:算法必须包含有限的步骤,不能无限进行下去。而输入和输出是程序设计中的概念,不是算法的特征。因此选项A不是正确答案。'
  75. 串中任意个字符组成的子序列称为串的子串。( )

  76. A:错 B:对

  77. 快速排序在任何情况下都能得到最快的排序效果。( )

  78. A:对 B:错

  79. 层次遍历初始堆可以得到一个有序的序列。( )

  80. A:错 B:对

  81. 一个无向图的生成树是图的极小连通子图。( )

  82. A:错 B:对
    AI参考:答案是B:对。生成树是一个无向图的连通子图,它是图的一个极小连通子图。因此,一个无向图的生成树是图的极小连通子图,这个判断题是正确的。'
  83. 数据的物理结构是指数据在计算机内的实际存储形式。( )

  84. A:对 B:错

  85. 由树转换成二叉树,其根节点的右子树一定为空。( )

  86. A:错 B:对

  87. 当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。( )

  88. A:错 B:对
    AI参考:二叉排序树中插入一个结点后,新结点不一定成为叶子结点。这个判断题是错误的。二叉排序树是一种二叉树,它满足排序树的特性,即每个节点的左子树上的所有结点的值都小于该节点的值,右子树上的所有结点的值都大于该节点的值。当向二叉排序树中插入一个结点时,新结点可能会成为叶子结点,也可能成为其他位置的节点。因此,这个判断题是错误的。'
  89. 先序遍历一棵二叉排序树得到的结点序列不一定是有序的序列。( )

  90. A:对 B:错

  91. 二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索。( )

  92. A:对 B:错

  93. 顺序查找表指的是在顺序存储结构上进行查找。( )

  94. A:对 B:错

  95. 队列是一种插入与删除操作分别在表的两端进行的线性表,是一种先进先出型结构。( )

  96. A:对 B:错

  97. 已知一棵二叉树的先序序列和中序序列可以唯一构造出该二叉树。 ( )

  98. A:对 B:错

  99. 散列函数越复杂越好,因为这样随机性好,冲突概率小。( )

  100. A:错 B:对

  101. 子串“ABC”在主串“AABCABCD”中的位置为2。( )

  102. A:对 B:错

  103. 满二叉树中不可能存在度为1的结点。( )

  104. A:错 B:对

  105. 二叉树中任何一个结点的度都是2。( )

  106. A:错 B:对

  107. 带权无向图的最小生成树是唯一的。( )

  108. A:对 B:错

  109. 中序遍历二叉排序树可以得到一个有序的序列。( )

  110. A:错 B:对
    AI参考:中序遍历二叉排序树可以得到一个有序的序列。这是因为在二叉排序树中,中序遍历会按照从左到右的顺序访问所有节点,并且每个节点的值都大于其左子树中的所有节点的值,小于其右子树中的所有节点的值。这样遍历得到的结果是一个递增的有序序列。因此,答案为B:对。'
  111. 堆排序是一种稳定的排序算法.( )

  112. A:错 B:对

  113. 顺序循环队列可以解决顺序队列“假溢出”的问题。(  )


  114. A:错 B:对

  115. 折半查找法的查找速度一定比顺序查找法快 。( )

  116. A:对 B:错

  117. 用邻接矩阵作为图的存储结构时,则其所占用的存储空间与图中顶点数无关而与图中边数有关。( )

  118. A:错 B:对

  119. 一个广义表的表尾总是一个广义表。( )

  120. A:对 B:错

  121. 希尔排序算法的时间复杂度为O(n^2)。( )


  122. A:错 B:对

  123. 设数组Data[0..m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,请问:





  124. 设一组初始记录关键字序列为(45,80,48,40,22,78),请回答下列问题:



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