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

漫话数据结构

  1. 表达式a*(b+c)-d的后缀表达式是( )。

  2. A:abc+*d- B:abcd*+- C:-+*abcd D:abc*+d-
    答案:abc+*d- 
  3. 若INDEX(S,T)表示求T在S中的位置的操作,则对于S=“Beijing&Nanjing”,T=“jing”,则INDEX(S,T)=( )。

  4. A:3 B:2 C:4 D:5
    答案:4AI参考:正确答案是B,即INDEX(S,T)=2。INDEX(S,T)表示求T在S中的位置的操作,其中S为字符串"Beijing&Nanjing",T为"jing"。在字符串"Beijing&Nanjing"中,第一个字符为"B",第二个字符为"&",第三个字符为"j",因此INDEX(S,T)的结果应为2,因为T位于字符串S中的第二个位置。所以,正确答案是B选项。'

  5. 在一个含有n个结点的有序单链表中插入一个新结点,使单链表仍然保持有序的算法的时间复杂度是(   )。


  6. A:o(n) B:o(1) C:o(log2n) D:o(n2)
    答案:O(n)
  7. 设串s1=“I am a student”,则串长为( )。

  8. A:14 B:13 C:12 D:15
    答案:14
  9. 用冒泡排序法将以下9个数1,2,3,4,9,8,7,6,5按照从大到小的顺序排列,则只需进行( )趟冒泡排序即可完成任务。

  10. A:4 B:6 C:5 D:3
    答案:5AI参考:答案:D解释:因为只需要从大到小排序,所以只需要冒泡两次就可以完成排序。第一次冒泡会将最大的数9和第二大的数8交换位置,第二次冒泡会将第二大的数7和第三大的数6交换位置,最终得到从大到小的排序结果。因此,只需要进行3趟冒泡排序即可完成任务。'
  11. 假设在顺序表{a,a,……,a}中,每一个数据元素所占的存储单元的数目为4,且第0个数据元素的存储地址为100,则第7个数据元素的存储地址是( )。

  12. A:107 B:128 C:106 D:124

  13. 当串的长度超过上界MAX时,将采用( )进行处理 。

  14. A:溢出错误 B:进位法 C:截尾法 D:四舍五入
    AI参考:当串的长度超过上界MAX时,将采用截尾法进行处理,因此选项C是正确答案。截尾法是一种数学方法,用于处理数值计算中超出特定范围的数据。在这种情况下,当串的长度超过MAX时,需要将串截断或舍去超出范围的部分,以保持其在合适范围内。其他选项如溢出错误、进位法、四舍五入都不适用于此情况。'
  15. 下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是( )。

  16. A:简单选择排序 B:直接插入排序 C:快速排序 D:冒泡排序

  17. 用直接选择排序方法对序列{15,11,9,10,13}进行排序,关键码比较次数是( )。

  18. A:9 B:4 C:8 D:10

  19. 若串S=“software”,其非平凡子串(非空且不同于串本身)的数目是 ( ) 。

  20. A:37 B:35 C:8 D:9

  21. 一个子串在包含它的主串中的位置是指( )。

  22. A:子串的最后那个字符在主串中的位置 B:子串的最后那个字符在主串中首次出现的位置 C:子串的第一个字符在主串中首次出现的位置 D:子串的第一个字符在主串中的位置

  23. 由3个结点可以构造出多少种不同的二叉树?( )

  24. A:4 B:5 C:2 D:3

  25. 一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是( )

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

  27. 树最适合用来表示( )。

  28. A:元素之间无联系的数据 B:无序数据元素 C:有序数据元素 D:元素之间具有分支层次关系的数据

  29. 最适合用做链队的链表是( )

  30. A:只带队首指针的非循环单链表 B:带队首指针和队尾指针的循环单链表 C:带队首指针和队尾指针的非循环单链表 D:只带队首指针的循环单链表

  31. 后缀表达式9 3 1-3*+ 10 2/+的计算结果为( )

  32. A:10 B:27 C:20 D:22
    AI参考:选项 B是正确的,即后缀表达式 9 3 1-3*+ 10 2/+ 的计算结果为27。这个表达式的计算顺序是先乘除后加减,先处理后缀表达式中的乘法和加法,再处理前缀表达式中的减法和除法。最终结果为27。因此,正确答案是选项B。'
  33. 对于长度为n的队列采用链式存储结构,front和rear分别指向队头和队尾,那么出队操作的时间复杂度为( )

  34. A:O(1) B:O(n2) C:O(n) D:O(log2n)

  35. 将10个元素散列到100000个单元的哈希表中,则( )产生冲突。

  36. A:一定不会 B:仍有可能会 C:一定会

  37. 当采用分块查找时,数据的组织方式为( )。

  38. A:数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块 B:数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块 C:数据分成若干块,每块内数据有序 D:数据分成若干块,每块(除最后一块外)中数据个数需相同

  39. 队和栈的主要区别是 ( )。

  40. A:逻辑结构不同 B:所包含的运算个数不同 C:存储结构不同 D:限定插入和删除的位置不同

  41. 若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用( )遍历方法最适合。

  42. A:后序 B:中序 C:按层次 D:前序

  43. 顺序查找法适合于存储结构为什么样的线性表。( )

  44. A:压缩存储 B:顺序存储或链式存储 C:索引存储 D:散列存储

  45. 对一组数据{84,47,25,15,21}排序,数据的排列次序在排序的过程中的变化为
    (1) 84 47 25 15 21 (2) 15 47 25 84 21
    (3) 15 21 25 84 47 (4) 15 21 25 47 84
    则采用的排序是( )。

  46. A:冒泡排序 B:快速排序 C:简单选择排序 D:直接插入排序

  47. 引入二叉线索树的目的是( )。

  48. A:为了能方便地找到双亲 B:为了能在二叉树中方便地进行插入与删除 C:使二叉树的遍历结果唯一 D:加快查找结点的前驱或后继的速度

  49. 某串的长度小于一个常数,则采用哪种存储方式最节省空间( )。

  50. A:链式 B:顺序 C:无法确定 D:堆结构

  51. 函数substr(“DATASTRUCTURE”,5,9)返回值为 ( ) 。

  52. A:“DATA” B:“STRUCTURE” C:“ASTRUCTURE” D:“DATASTRUCTURE”

  53. 适用于折半查找的表的存储方式及元素排列要求为( )。

  54. A:顺序方式存储,元素无序 B:链接方式存储,元素有序 C:链接方式存储,元素无序 D:顺序方式存储,元素有序

  55. 栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是( )

  56. A:CDABE B:DBCEA C:DCBEA D:ABCED

  57. 若串S=“software”,其子串的个数是 ( ) 。

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

  59. 在非满顺序栈中,若用top来指向栈顶,那么入栈操作时top的值应该执行( )。

  60. A:top==maxSize B:top==maxSize-1 C:top++ D:top—
    AI参考:入栈操作时,栈顶元素会被压入栈中,此时 top 指针会向前进一位,指向新的栈顶元素。在非满顺序栈中,栈的最大容量为 maxSize,入栈操作时 top 的值应该执行 C:top++。这样,top 指针会指向新的栈顶元素,符合栈的特性。所以,正确答案是 C:top++。'
  61. 数据序列{ 8,9,10,4,5,6,20,1,2}只能是下列排序算法中的( )的两趟排序后的结果。

  62. A:简单选择排序 B:冒泡排序 C:直接插入排序 D:快速排序

  63. 从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为( )。

  64. A:快速排序 B:冒泡排序 C:直接插入排序 D:简单选择排序

  65. 在线性表中若经常要存取第i个数据元素及其前趋,则宜采用哪种存储方式( )。

  66. A:循环链表 B:顺序表 C:不带头结点的单链表 D:带头结点的单链表

  67. 设计一个判别表达式中左、右括号是否配对出现的算法采用( )数据结构最佳。( )

  68. A:栈 B:队列 C:线性表的链式存储结构 D:线性表的顺序存储结构

  69. 在对n个元素进行直接插入排序的过程中,共需要进行( )趟。

  70. A:n-1 B:n C:2n D:n+1

  71. 在循环顺序队列中,假设以少用一个存储单元的方法来区分队列判满和判空的条件,front和rear分别为队首和队尾指针,它们分别指向队首元素和队尾元素的存储单元,队列的最大存储容量为maxSize,则队列的判空条件是( )

  72. A:front==rear+1 B:front!=rear C:front==(rear+1)% maxSize D:front==rear

  73. 给定一棵树,可以找到唯一的一棵二叉树与之对应。( )

  74. A:错 B:对

  75. 如果一个串中的所有字符均在另一串中出现,则说前者是后者的子串。( )

  76. A:对 B:错

  77. 如果两个串含相同的字符,则说明它们相等。( )

  78. A:对 B:错
    AI参考:答案是B:错。虽然两个字符串含相同的字符,但是它们可能包含不同的顺序和数量,所以它们不一定相等。在编程中,通常需要比较两个字符串的内容和顺序是否完全相同来判断它们是否相等。'
  79. 串是一种数据对象和操作都特殊的线性表。( )

  80. A:错 B:对

  81. 串是指含n个字符的有限序列且n>=0。( )

  82. A:对 B:错
    AI参考:答案是B。错。串是指含n个字符的有限序列且n≥1,而不是n≥0。因此,这个判断题是错误的。'
  83. 中缀表达式转换成后缀表达式后,其运算数字的顺序也会发生变换。( )

  84. A:对 B:错

  85. 如果一个串中相同的字符均在另一个串中出现,则说明前者是后者的子串。( )

  86. A:错 B:对

  87. INDEX(“DATASTRUCTURE”,“STR”)的值为4。( )

  88. A:错 B:对
    AI参考:答案是B:对。INDEX函数用于返回一个数组或表格中指定位置的值。在这个问题中,INDEX("DATASTRUCTURE", "STR")将返回"DATASTRUCTURE"中与"STR"相匹配的元素的值。根据上下文,我们可以推断出"STR"可能代表字符串的索引,而"DATASTRUCTURE"可能是一个包含多个字符串的数组或表格。因此,INDEX("DATASTRUCTURE", "STR")的值为4是正确的。'
  89. 取栈顶操作并没有改变栈内元素。( )

  90. A:错 B:对
    AI参考:答案是B:对。取栈顶操作并没有改变栈内元素。栈是一种后进先出(LIFO)的数据结构,取栈顶操作只是返回栈顶元素的值或引用,而不会改变栈内元素。'
  91. 如果两个串含有相同的字符集,则说两者相等。( )

  92. A:对 B:错

  93. 串的长度是指串中不同字符的个数。( )

  94. A:对 B:错

  95. 空串不等于空白串。( )

  96. A:对 B:错

  97. 在链队列上做入队操作时,会改变rear指针的值。( )

  98. A:错 B:对

  99. 空格串的长度就是串中空格的个数。( )

  100. A:对 B:错

  101. 队列的输入序列是1,2,3,4,那么输出序列可以是4,3,2,1。( )

  102. A:错 B:对
    AI参考:正确答案是B:对。根据队列的先进先出(FIFO,First In First Out)性质,输入序列是1,2,3,4时,输出序列应为1,2,3。题目描述的输出序列是4,3,2,1与FIFO原则不符,所以答案为错。'
  103. 栈和队列逻辑上都是线性的。( )

  104. A:对 B:错

  105. 具有10个顶点的无向图,边的总数最多为__________。



  106. N个顶点的连通图用邻接矩阵表示时,该矩阵至少有___________个非零元素。


  107. AI参考:N个顶点的连通图用邻接矩阵表示时,该矩阵至少有_________个非零元素。 正确答案是 2N-2。因为连通图意味着图中任意两个顶点之间都存在一条路径相连,因此邻接矩阵中至少需要有起始顶点和终止顶点之间的两条路径上的非零元素,所以总元素个数至少是 2N-2。'
  108. 在二叉树中指针p所指结点为叶子结点的条件是____。



  109. 在有向图的邻接矩阵表示中,计算第I个顶点入度的方法是__________。



  110. 在有n个顶点的有向图中,若要使任意两点间可以互相到达,则至少需要__________条弧。



  111. 在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分(折半)法查找关键码值20,需做的关键码比较次数为____________。


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