全国二级理论——1.2数据结构与算法 本套试题共50题。 1. 班级:格式如“19计应31”2. 学号:10位数完整格式3. 姓名:4. 栈和队列的共同点是______。A. 都是先进后出B. 都是先进先出C. 只允许在端点处插入和删除元素D. 没有共同点5. [(4)堆排序法:堆排序的方法为:①首先将一个无序序列建成堆。②然后将堆顶元素(序列中的最大项)与堆中最后一个元素交换(最大项应该在序列的最后)。在最坏情况下,堆排序需要比较的次数为O(nlog2n)。]6. 设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为______。A. 15B. 16C. 20D. 0或357. 下列叙述中正确的是______。A. 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B. 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C. 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D. 上述三种说法都不对8. 对于循环队列,下列叙述中正确的是______。A. 队头指针是固定不变的B. 队头指针一定大于队尾指针C. 队头指针一定小于队尾指针D. 队头指针可以大于队尾指针,也可以小于队尾指针9. 设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是______。A. R={(1,2),(3,2),(5,1),(4,5)}B. R={(1,3),(4,1),(3,2),(5,4)}C. R={(1,2),(2,4),(4,5),(2,3)}D. R={(1,3),(2,4),(3,5),(1,2)}10. 下列与队列结构有关联的是______。A. 函数的递归调用B. 数组元素的引用C. 多重循环的执行D. 先到先服务的作业调度11. 下列叙述中正确的是______。A. 所有数据结构必须有根结点B. 所有数据结构必须有终端结点(即叶子结点)C. 只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D. 没有根结点或没有叶子结点的数据结构一定是非线性结构12. 设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为______。A. BCAB. CBAC. ABCD. CAB13. [堆排序属于选择类的排序方法。堆排序方法如下:首先将一个无序序列建成堆。然后将堆顶元素(序列中的最大项)与堆中最后一个元素交换(最大项应该在序列的最后)。不考虑已经换到最后的那个元素,指考虑前n-1个元素构成的子序列,显然,该子序列已不是堆,但左、右子树仍为堆,可以将该子序列调整为堆。在最坏情况下,堆排序需要比较的次数为O(nlog2n)。]14. 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是______。A. O(n)B. O(n2)C. O(log2n)D. O(nlog2n)15. 深度为7的二叉树共有127个结点,则下列说法中错误的是______。A. 该二叉树有一个度为1的结点B. 该二叉树是满二叉树C. 该二叉树是完全二叉D. 该二叉树有64个叶子结点16. 下列叙述中错误的是______。A. 在双向链表中,可以从任何一个结点开始直接遍历到所有结点B. 在循环链表中,可以从任何一个结点开始直接遍历到所有结点C. 在线性单链表中,可以从任何一个结点开始直接遍历到所有结点D. 在二叉链表中,可以从根结点开始遍历到所有结点17. 算法时间复杂度的度量方法是______。A. 算法程序的长度B. 执行算法所需要的基本运算次数C. 执行算法所需要的所有运算次数D. 执行算法所需要的时间18. [所谓简单插入排序,是指将无序序列中的各元素依次插入到已经有序的线性表中。在简单插入排序中,每一次比较后最多移掉一个逆序,因此,这种排序方法的效率与冒泡排序法相同。在最坏情况下,简单插入排序需要n(n-1)/2次比较。]19. 某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)______。A. 12B. 6C. 8D. 320. 下列叙述中正确的是______。A. 算法的空间复杂度是指算法程序控制结构的复杂程度。B. 算法的空间复杂度与算法所处理的数据存储空间有关。C. 算法的空间复杂度是指算法程序中指令的条数。D. 压缩数据存储空间不会降低算法的空间复杂度。21. 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是______。A. 快速排序B. 冒泡排序C. 直接插入排序D. 堆排序22. 设有序线性表的长度为n,则在有序线性表中进行二分查找,最坏情况下的比较次数为______。A. n(n-1)/2B. nC. nlog2nD. log2n23. [希尔排序法属于插入类排序,但它对简单插入排序做了较大的改进。基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。在希尔排序过程中,虽然对于每一个子表采用的仍是插入排序,但是,在子表中每进行一次比较久有可能移去整个线性表中的多个逆序,从而改善了整个排序过程的性能。最欢情况下,希尔排序所需要的比较次数为O(n1.5)。]24. [(3)快速排序:通常,快速排序被认为是,所有同数量级(O(nlogn))的排序方法中,其平均性能最好。但是,若初始记录序列按关键字有序或基本有序时,快速排序将蜕化为起泡排序,其时间复杂度为O(n2)。]25. 在下列选项中,哪个不是一个算法一般应该具有的基本特征______。A. 确定性B. 可行性C. 无穷性D. 拥有足够的情报26. 设循环队列的存储空间为Q(1:m),初始状态为空。现经过一系列正常的入队与退队操作后,front=m-1,rear=m,此后再向该循环队列中插入一个元素,则队列中的元素个数为______。A. m-1B. 1C. 2D. m27. 在一棵二叉树上第5层的结点数最多是______。A. 8B. 16C. 32D. 1528. 下列关于线性链表的叙述中,正确的是______。A. 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B. 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C. 进行插入和删除时,不需要移动表中的元素D. 以上三种说法都不对29. 下列叙述中正确的是______。A. 算法复杂度是指算法控制结构的复杂程度B. 算法设计只需考虑结果的可靠性C. 数据的存储结构会影响算法的效率D. 算法复杂度是用算法中指令的条数来度量的30. 下列叙述中错误的是______。A. 二分查找法只适用于顺序存储的线性有序表B. 所有二叉树都只能用二叉链表表示C. 有多个指针域的链表也有可能是线性结构D. 循环队列是队列的存储结构31. 某二叉树的中序遍历序列为CBADE,后序遍历序列为CBADE,则前序遍历序列为______。A. CBADEB. CBEDAC. EDABCD. EDCBA32. 在长度为n的顺序表中查找一个元素,假设需要查找的元素有一半的机会在表中,并且如果元素在表中,则出现在表中每个位置上的可能性是相同的。则在平均情况下需要比较的次数大约为______。A. 3n/4B. nC. n/2D. n/433. 设栈的存储空间为S(1:50),初始状态为top=0。现经过一系列正常的入栈与退栈操作后,top=51,则栈中的元素个数为______。A. 1B. 50C. 0D. 不可能34. 设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列正常的入栈与退栈运算后,top=20,则栈中的元素个数为______。A. 30B. 20C. m-20D. m-1935. 某二叉树的前序序列为ABDFHCEG,中序序列为HFDBACEG。该二叉树按层次输出(同一层从左到右)的序列为______。A. HFDBGECAB. ABCDEFGHC. HGFEDCBAD. ACEGBDFH36. 某完全二叉树按层次输出(同一层从左到右)的序列为ABCDEFGH。该完全二叉树的中序序列为______。A. HDBEAFCGB. HDEBFGCAC. ABDHECFGD. ABCDEFGH37. 下列叙述中错误的是______。A. 算法的时间复杂度与问题规模无关B. 算法的时间复杂度与计算机系统无关C. 算法的时间复杂度与空间复杂度没有必然的联系D. 算法的空间复杂度与算法运行输出结果的数据量无关38. 在带链队列中,经过一系列正常的操作后,如果front=rear,则队列中的元素个数为______。A. 队列满B. 0C. 1D. 0或139. 下列叙述中正确的是______。A. 能采用顺序存储的必定是线性结构B. 所有的线性结构都可以采用顺序存储结构C. 具有两个以上指针的链表必定是非线性结构D. 循环队列是队列的链式存储结构40. 某二叉树共有399个结点,其中有199个度为2的结点,则该二叉树中的叶子结点数为______。A. 不存在这样的二叉树B. 200C. 198D. 19941. 设数据结构B=(D, R),其中D={ a, b, c, d, e, f } ,R={ (f, a),(d, b), (e, d), (c, e), (a, c) } ,该数据结构为______。A. 线性结构B. 循环队列C. 循环链表D. 非线性结构42. 设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为______。A. 0B. 49C. 1D. 4843. 在长度为n的顺序表中寻找最大项,需要比较的次数至少是______。A. n+1B. n/2C. nD. n-144. 下列算法中,最坏情况下时间复杂度最低的是______。A. 有序表的对分查找B. 寻找最大项C. 顺序查找D. 堆排序45. 树的度为3,且有9个度为3的结点,20个叶子结点,但没有度为1的结点。则该树总的结点数为______。A. 30B. 29C. 47D. 不可能有这样的树46. 下列叙述中正确的是______。A. 循环队列与循环链表都是线性结构B. 双向链表既能表示线性结构,又能表示非线性结构C. 顺序存储结构只能表示线性结构D. 具有多个指针域的链表肯定是非线性结构47. 循环队列的存储空间为Q(1:50),初始状态为空。经过一系列正常的入队与退队操作后,front=1,rear=25。此时该循环队列中的元素个数为______。A. 27B. 26C. 24D. 2548. 设栈的存储空间为S(1:60),初始状态为top=61。现经过一系列正常的入栈与退栈操作后,top=1,则栈中的元素个数为______。A. 59B. 0C. 1D. 6049. 设有下列二叉树,此二叉树中序遍历的结果为______。 A. ABCDEFB. DBEAFCC. ABDECFD. DEBFCA50. 某系统总体结构如下图所示,该系统结构图的最大扇出数是______。 A. 5B. 3C. 2D. 151. 某系统总体结构图如下图所示,该系统总体结构图的深度是______。 A. 7B. 6C. 3D. 252. 设二叉树如下,则中序序列为______。 A. ABDEGCFHB. DBGEAFHCC. DGEBHFCAD. ABCDEFGH53. 某系统结构图如下图所示,该系统结构图的深度是______。 A. 4B. 3C. 2D. 1 提交成功!
全国二级理论——1.2数据结构与算法 本套试题共50题。 1. 班级:格式如“19计应31”2. 学号:10位数完整格式3. 姓名:4. 栈和队列的共同点是______。A. 都是先进后出B. 都是先进先出C. 只允许在端点处插入和删除元素D. 没有共同点5. [(4)堆排序法:堆排序的方法为:①首先将一个无序序列建成堆。②然后将堆顶元素(序列中的最大项)与堆中最后一个元素交换(最大项应该在序列的最后)。在最坏情况下,堆排序需要比较的次数为O(nlog2n)。]6. 设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为______。A. 15B. 16C. 20D. 0或357. 下列叙述中正确的是______。A. 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B. 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C. 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D. 上述三种说法都不对8. 对于循环队列,下列叙述中正确的是______。A. 队头指针是固定不变的B. 队头指针一定大于队尾指针C. 队头指针一定小于队尾指针D. 队头指针可以大于队尾指针,也可以小于队尾指针9. 设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是______。A. R={(1,2),(3,2),(5,1),(4,5)}B. R={(1,3),(4,1),(3,2),(5,4)}C. R={(1,2),(2,4),(4,5),(2,3)}D. R={(1,3),(2,4),(3,5),(1,2)}10. 下列与队列结构有关联的是______。A. 函数的递归调用B. 数组元素的引用C. 多重循环的执行D. 先到先服务的作业调度11. 下列叙述中正确的是______。A. 所有数据结构必须有根结点B. 所有数据结构必须有终端结点(即叶子结点)C. 只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D. 没有根结点或没有叶子结点的数据结构一定是非线性结构12. 设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为______。A. BCAB. CBAC. ABCD. CAB13. [堆排序属于选择类的排序方法。堆排序方法如下:首先将一个无序序列建成堆。然后将堆顶元素(序列中的最大项)与堆中最后一个元素交换(最大项应该在序列的最后)。不考虑已经换到最后的那个元素,指考虑前n-1个元素构成的子序列,显然,该子序列已不是堆,但左、右子树仍为堆,可以将该子序列调整为堆。在最坏情况下,堆排序需要比较的次数为O(nlog2n)。]14. 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是______。A. O(n)B. O(n2)C. O(log2n)D. O(nlog2n)15. 深度为7的二叉树共有127个结点,则下列说法中错误的是______。A. 该二叉树有一个度为1的结点B. 该二叉树是满二叉树C. 该二叉树是完全二叉D. 该二叉树有64个叶子结点16. 下列叙述中错误的是______。A. 在双向链表中,可以从任何一个结点开始直接遍历到所有结点B. 在循环链表中,可以从任何一个结点开始直接遍历到所有结点C. 在线性单链表中,可以从任何一个结点开始直接遍历到所有结点D. 在二叉链表中,可以从根结点开始遍历到所有结点17. 算法时间复杂度的度量方法是______。A. 算法程序的长度B. 执行算法所需要的基本运算次数C. 执行算法所需要的所有运算次数D. 执行算法所需要的时间18. [所谓简单插入排序,是指将无序序列中的各元素依次插入到已经有序的线性表中。在简单插入排序中,每一次比较后最多移掉一个逆序,因此,这种排序方法的效率与冒泡排序法相同。在最坏情况下,简单插入排序需要n(n-1)/2次比较。]19. 某二叉树共有12个结点,其中叶子结点只有1个。则该二叉树的深度为(根结点在第1层)______。A. 12B. 6C. 8D. 320. 下列叙述中正确的是______。A. 算法的空间复杂度是指算法程序控制结构的复杂程度。B. 算法的空间复杂度与算法所处理的数据存储空间有关。C. 算法的空间复杂度是指算法程序中指令的条数。D. 压缩数据存储空间不会降低算法的空间复杂度。21. 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是______。A. 快速排序B. 冒泡排序C. 直接插入排序D. 堆排序22. 设有序线性表的长度为n,则在有序线性表中进行二分查找,最坏情况下的比较次数为______。A. n(n-1)/2B. nC. nlog2nD. log2n23. [希尔排序法属于插入类排序,但它对简单插入排序做了较大的改进。基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。在希尔排序过程中,虽然对于每一个子表采用的仍是插入排序,但是,在子表中每进行一次比较久有可能移去整个线性表中的多个逆序,从而改善了整个排序过程的性能。最欢情况下,希尔排序所需要的比较次数为O(n1.5)。]24. [(3)快速排序:通常,快速排序被认为是,所有同数量级(O(nlogn))的排序方法中,其平均性能最好。但是,若初始记录序列按关键字有序或基本有序时,快速排序将蜕化为起泡排序,其时间复杂度为O(n2)。]25. 在下列选项中,哪个不是一个算法一般应该具有的基本特征______。A. 确定性B. 可行性C. 无穷性D. 拥有足够的情报26. 设循环队列的存储空间为Q(1:m),初始状态为空。现经过一系列正常的入队与退队操作后,front=m-1,rear=m,此后再向该循环队列中插入一个元素,则队列中的元素个数为______。A. m-1B. 1C. 2D. m27. 在一棵二叉树上第5层的结点数最多是______。A. 8B. 16C. 32D. 1528. 下列关于线性链表的叙述中,正确的是______。A. 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B. 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C. 进行插入和删除时,不需要移动表中的元素D. 以上三种说法都不对29. 下列叙述中正确的是______。A. 算法复杂度是指算法控制结构的复杂程度B. 算法设计只需考虑结果的可靠性C. 数据的存储结构会影响算法的效率D. 算法复杂度是用算法中指令的条数来度量的30. 下列叙述中错误的是______。A. 二分查找法只适用于顺序存储的线性有序表B. 所有二叉树都只能用二叉链表表示C. 有多个指针域的链表也有可能是线性结构D. 循环队列是队列的存储结构31. 某二叉树的中序遍历序列为CBADE,后序遍历序列为CBADE,则前序遍历序列为______。A. CBADEB. CBEDAC. EDABCD. EDCBA32. 在长度为n的顺序表中查找一个元素,假设需要查找的元素有一半的机会在表中,并且如果元素在表中,则出现在表中每个位置上的可能性是相同的。则在平均情况下需要比较的次数大约为______。A. 3n/4B. nC. n/2D. n/433. 设栈的存储空间为S(1:50),初始状态为top=0。现经过一系列正常的入栈与退栈操作后,top=51,则栈中的元素个数为______。A. 1B. 50C. 0D. 不可能34. 设栈的顺序存储空间为S(1:m),初始状态为top=m+1。现经过一系列正常的入栈与退栈运算后,top=20,则栈中的元素个数为______。A. 30B. 20C. m-20D. m-1935. 某二叉树的前序序列为ABDFHCEG,中序序列为HFDBACEG。该二叉树按层次输出(同一层从左到右)的序列为______。A. HFDBGECAB. ABCDEFGHC. HGFEDCBAD. ACEGBDFH36. 某完全二叉树按层次输出(同一层从左到右)的序列为ABCDEFGH。该完全二叉树的中序序列为______。A. HDBEAFCGB. HDEBFGCAC. ABDHECFGD. ABCDEFGH37. 下列叙述中错误的是______。A. 算法的时间复杂度与问题规模无关B. 算法的时间复杂度与计算机系统无关C. 算法的时间复杂度与空间复杂度没有必然的联系D. 算法的空间复杂度与算法运行输出结果的数据量无关38. 在带链队列中,经过一系列正常的操作后,如果front=rear,则队列中的元素个数为______。A. 队列满B. 0C. 1D. 0或139. 下列叙述中正确的是______。A. 能采用顺序存储的必定是线性结构B. 所有的线性结构都可以采用顺序存储结构C. 具有两个以上指针的链表必定是非线性结构D. 循环队列是队列的链式存储结构40. 某二叉树共有399个结点,其中有199个度为2的结点,则该二叉树中的叶子结点数为______。A. 不存在这样的二叉树B. 200C. 198D. 19941. 设数据结构B=(D, R),其中D={ a, b, c, d, e, f } ,R={ (f, a),(d, b), (e, d), (c, e), (a, c) } ,该数据结构为______。A. 线性结构B. 循环队列C. 循环链表D. 非线性结构42. 设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为______。A. 0B. 49C. 1D. 4843. 在长度为n的顺序表中寻找最大项,需要比较的次数至少是______。A. n+1B. n/2C. nD. n-144. 下列算法中,最坏情况下时间复杂度最低的是______。A. 有序表的对分查找B. 寻找最大项C. 顺序查找D. 堆排序45. 树的度为3,且有9个度为3的结点,20个叶子结点,但没有度为1的结点。则该树总的结点数为______。A. 30B. 29C. 47D. 不可能有这样的树46. 下列叙述中正确的是______。A. 循环队列与循环链表都是线性结构B. 双向链表既能表示线性结构,又能表示非线性结构C. 顺序存储结构只能表示线性结构D. 具有多个指针域的链表肯定是非线性结构47. 循环队列的存储空间为Q(1:50),初始状态为空。经过一系列正常的入队与退队操作后,front=1,rear=25。此时该循环队列中的元素个数为______。A. 27B. 26C. 24D. 2548. 设栈的存储空间为S(1:60),初始状态为top=61。现经过一系列正常的入栈与退栈操作后,top=1,则栈中的元素个数为______。A. 59B. 0C. 1D. 6049. 设有下列二叉树,此二叉树中序遍历的结果为______。 A. ABCDEFB. DBEAFCC. ABDECFD. DEBFCA50. 某系统总体结构如下图所示,该系统结构图的最大扇出数是______。 A. 5B. 3C. 2D. 151. 某系统总体结构图如下图所示,该系统总体结构图的深度是______。 A. 7B. 6C. 3D. 252. 设二叉树如下,则中序序列为______。 A. ABDEGCFHB. DBGEAFHCC. DGEBHFCAD. ABCDEFGH53. 某系统结构图如下图所示,该系统结构图的深度是______。 A. 4B. 3C. 2D. 1 提交成功!
5. [(4)堆排序法:堆排序的方法为:①首先将一个无序序列建成堆。②然后将堆顶元素(序列中的最大项)与堆中最后一个元素交换(最大项应该在序列的最后)。在最坏情况下,堆排序需要比较的次数为O(nlog2n)。]
6. 设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为______。A. 15B. 16C. 20D. 0或35
7. 下列叙述中正确的是______。A. 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B. 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C. 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D. 上述三种说法都不对
9. 设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是______。A. R={(1,2),(3,2),(5,1),(4,5)}B. R={(1,3),(4,1),(3,2),(5,4)}C. R={(1,2),(2,4),(4,5),(2,3)}D. R={(1,3),(2,4),(3,5),(1,2)}
11. 下列叙述中正确的是______。A. 所有数据结构必须有根结点B. 所有数据结构必须有终端结点(即叶子结点)C. 只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D. 没有根结点或没有叶子结点的数据结构一定是非线性结构
13. [堆排序属于选择类的排序方法。堆排序方法如下:首先将一个无序序列建成堆。然后将堆顶元素(序列中的最大项)与堆中最后一个元素交换(最大项应该在序列的最后)。不考虑已经换到最后的那个元素,指考虑前n-1个元素构成的子序列,显然,该子序列已不是堆,但左、右子树仍为堆,可以将该子序列调整为堆。在最坏情况下,堆排序需要比较的次数为O(nlog2n)。]
16. 下列叙述中错误的是______。A. 在双向链表中,可以从任何一个结点开始直接遍历到所有结点B. 在循环链表中,可以从任何一个结点开始直接遍历到所有结点C. 在线性单链表中,可以从任何一个结点开始直接遍历到所有结点D. 在二叉链表中,可以从根结点开始遍历到所有结点
18. [所谓简单插入排序,是指将无序序列中的各元素依次插入到已经有序的线性表中。在简单插入排序中,每一次比较后最多移掉一个逆序,因此,这种排序方法的效率与冒泡排序法相同。在最坏情况下,简单插入排序需要n(n-1)/2次比较。]
20. 下列叙述中正确的是______。A. 算法的空间复杂度是指算法程序控制结构的复杂程度。B. 算法的空间复杂度与算法所处理的数据存储空间有关。C. 算法的空间复杂度是指算法程序中指令的条数。D. 压缩数据存储空间不会降低算法的空间复杂度。
23. [希尔排序法属于插入类排序,但它对简单插入排序做了较大的改进。基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。在希尔排序过程中,虽然对于每一个子表采用的仍是插入排序,但是,在子表中每进行一次比较久有可能移去整个线性表中的多个逆序,从而改善了整个排序过程的性能。最欢情况下,希尔排序所需要的比较次数为O(n1.5)。]
24. [(3)快速排序:通常,快速排序被认为是,所有同数量级(O(nlogn))的排序方法中,其平均性能最好。但是,若初始记录序列按关键字有序或基本有序时,快速排序将蜕化为起泡排序,其时间复杂度为O(n2)。]
26. 设循环队列的存储空间为Q(1:m),初始状态为空。现经过一系列正常的入队与退队操作后,front=m-1,rear=m,此后再向该循环队列中插入一个元素,则队列中的元素个数为______。A. m-1B. 1C. 2D. m
28. 下列关于线性链表的叙述中,正确的是______。A. 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B. 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C. 进行插入和删除时,不需要移动表中的元素D. 以上三种说法都不对
32. 在长度为n的顺序表中查找一个元素,假设需要查找的元素有一半的机会在表中,并且如果元素在表中,则出现在表中每个位置上的可能性是相同的。则在平均情况下需要比较的次数大约为______。A. 3n/4B. nC. n/2D. n/4
35. 某二叉树的前序序列为ABDFHCEG,中序序列为HFDBACEG。该二叉树按层次输出(同一层从左到右)的序列为______。A. HFDBGECAB. ABCDEFGHC. HGFEDCBAD. ACEGBDFH
37. 下列叙述中错误的是______。A. 算法的时间复杂度与问题规模无关B. 算法的时间复杂度与计算机系统无关C. 算法的时间复杂度与空间复杂度没有必然的联系D. 算法的空间复杂度与算法运行输出结果的数据量无关
41. 设数据结构B=(D, R),其中D={ a, b, c, d, e, f } ,R={ (f, a),(d, b), (e, d), (c, e), (a, c) } ,该数据结构为______。A. 线性结构B. 循环队列C. 循环链表D. 非线性结构
42. 设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为______。A. 0B. 49C. 1D. 48
46. 下列叙述中正确的是______。A. 循环队列与循环链表都是线性结构B. 双向链表既能表示线性结构,又能表示非线性结构C. 顺序存储结构只能表示线性结构D. 具有多个指针域的链表肯定是非线性结构
47. 循环队列的存储空间为Q(1:50),初始状态为空。经过一系列正常的入队与退队操作后,front=1,rear=25。此时该循环队列中的元素个数为______。A. 27B. 26C. 24D. 25