提示:内容已经过期谨慎付费,点击上方查看最新答案
数据结构
- 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是( )。
- 设有序表中的元素为(13,18,24,35,47,50,62),则在其中利用二分法查找值为24的元素需要经过( )次比较。
- 数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中的( )的两趟排序后的结果。
- 设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
- 假定一棵度为3的树中,结点数为50,则其最小高度为( ).
- 若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是( )。
- 若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用( )遍历方法最合适。
- 把一棵树转换为二叉树后,这棵二叉树的形态是( )。
- 设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过( )。
- 以下说法正确的是( )。
- 在作进栈运算时,应先判别栈是否( ① ),在作退栈运算时应先判别栈是否( ② )。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为( ③ )。
为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的 ( ④ )分别设在这片内存空间的两端,这样,当( ⑤ )时,才产生上溢。 ( ) - 一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足( )。
- 在森林的二叉树表示中,结点M和结点N是同一父结点的左儿子和右儿子,则在该森林中( )。
- 下列四个序列中,哪一个是堆( )。
- 设F是一个森林,B是由F变换来的二叉树。若F中有n个非终端结点,则B中右指针城为空的结点有( )个。
- 设二叉排序树上有n个结点,则在二叉排序树上查找结点的平均时间复杂度为( )。
- 求解最短路径的Floyd算法的时间复杂度为( )。
- 对线性表进行二分查找时,要求线性表必须( )
- 适用于折半查找的表的存储方式及元素排列要求为( )
- 由3个结点可以构造出多少种不同的二叉树?( )
- 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( ) 。
- 有一组数据(15,9,7,8,20,-1,7,4),用堆排序的筛选方法建立的初始堆为 ( )。
- 链表不具有的特点是( )
- 一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )。
- 向一个栈顶指针为Top的链栈中插入一个s所指结点时,其操作步骤为( )。
- 设有序表中有1000个元素,则用二分查找查找元素X最多需要比较( )次。
- 在一个链队中,若f,r分别为队首、队尾指针,则插入s所指结点的操作为( )。
- 设有一顺序栈已含3个元素(a1,a2,a3),元素a4正等待进栈。那么下列4个序列中不可能出现的出栈序列是( )。
- 设顺序线性表的长度为30,分成5块,每块6个元素,如果采用分块查找,则其平均查找长度为( )。
- 栈是一种插入与删除操作在表的一端进行的线性表,是一种先进后出型结构。( )
- 就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大。( )
- 在循环链表L中,已知指针p指向某一结点,可以找到p的前驱。( )
- 给定一棵树,可以找到唯一的一棵二叉树与之对应。( )
- 数组是同类型值的集合。( )
- 排序算法中的比较次数与初始元素序列的排列无关。( )
- 算法效率的评价用时间复杂度和空间复杂度两个方面进行。( )
- 对大小均为n的有序表和无序表分别进行顺序查找,在等概率查找的情况下,对于查找成功,它们的平均查找长度是相同的,而对于查找失败,它们的平均查找长度是不同的。( )
- 内排序要求数据一定要以顺序方式存储。 ( )
- 同一个算法,实现语言的级别越高,执行效率就越低。( )
- 在索引顺序表中,实现分块查找,在等概率查找情况下,其平均查找长度不仅与表中元素个数有关,而且与每块中元素个数有关。 ( )
- 查找相同结点的效率折半查找总比顺序查找高。 ( )
- 所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界。( )
- 中序遍历平衡的二叉排序树,可得到最好排序的关键码序列。( )
- 线性表采用链接存储,插入和删除操作需要移动数据元素。( )
- 二叉树只能用二叉链表表示。( )
- 深度为K的二叉树中结点总数≤2k-1。( )
- 只有那种使用了局部变量的递归过程在转换成非递归过程时才必须使用栈。( )
- 若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1. ( )
- 需要借助于一个队列来实现DFS算法。( )
A:a b c d e B:d c e a b C:d e c b a D:e d c b a
答案:EAB ;AB ;B ;DCEAB ;
A:4 B:1 C:2 D:3
答案:3
A:选择排序 B:插入排序 C:堆排序 D:冒泡排序
答案:插入排序
A:带尾指针的单循环链表 B:带头结点的双循环链表 C:单循环链表 D:单链表
答案:带表头结点的双循环链表
A:6 B:4 C:5 D:3
答案:5
A:快速排序 B:直接插入排序 C:堆排序 D:归并排序
A:后序 B:中序 C:前序 D:按层次
A:有多种 B:有多种,但根结点都没有右孩子 C:唯一的 D:有多种,但根结点都没有左孩子
A:log2(n+1) B:log2n C:log2n-1 D:log2n+1
A:插入和删除操作是数据结构中最基本的两种操作,所以这两种操作在数组中也经常使用。 B:栈可以作为实现过程调用的一种数据结构。 C:顺序队和循环队的队满和队空判断条件是一样的。 D:在循环队列中,front指向队列中第一个元素的前一位置,rear指向实际的队尾元素,队列为满的条件front=rear。
AI参考:正确选项是:D:在循环队列中,front指向队列中第一个元素的前一位置,rear指向实际的队尾元素,队列为满的条件front=rear。原因如下:在循环队列中,需要使用两个指针,front和rear,分别指向队列中的第一个元素和队尾元素。队列为满的条件是front=rear,表示队列中已经没有空间再插入元素了。因此选项D是正确的。其他选项错误的原因如下:A选项:虽然插入和删除操作是数据结构中最基本的两种操作,但在数组中,由于数组的空间是有限的,插入和删除操作可能会造成数组的溢出或下溢,因此并不是经常使用。B选项:栈是一种后进先出(LIFO)的数据结构,通常用于实现过程调用。但是,栈的空间有限制,如果过程调用过多,可能会导致栈溢出。C选项:顺序队和循环队在队满和队空判断条件上有所不同。顺序队的队满条件是尾部指针达到头部指针,而队空条件是头部指针达到尾部指针。而循环队的队满条件也是头部达到尾部,但是队空条件是尾部指针达到头部指针之前的位置。因此选项C错误。'
A:满,空,n,栈底,两个栈的栈顶在栈空间的某一位置相遇. B:满,空,n+1,深度,两个栈的栈顶在栈空间的某一位置相遇. C:空,满,n/2,栈底, 两个栈均不空,且一个栈的栈顶到达另一个栈的栈底. D:空,满,n,栈底, 其中一个栈的栈顶到达栈空间的中心点.
A:所有的结点均无右孩子 B:只有一个叶子结点 C:所有的结点均无左孩子 D:是任意一棵二叉树
A:M和N可能无公共祖先 B:M和N有同一双亲 C:M是N的左兄弟 D:M是N的儿子
A:75,45,65,30,15,25,20,10 B:75,65,30,15,25,45,20,10 C:75,65,45,10,30,25,20,15 D:75,45,65,10,25,30,20,15
A:n+2 B:n+1 C:n D:n-1
A:O(n) B:O(nlog2n) C:O(n2) D:O(1og2n)
A:O(n+c) B:O(n) C:O(n*n*n) D:O(n*n)
A:以链接方式存储 B:以顺序方式存储,且数据元素有序 C:以顺序方式存储 D:以链接方式存储,且数据元素有序
A:顺序方式存储,元素有序 B:链接方式存储,元素无序 C:顺序方式存储,元素无序 D:链接方式存储,元素有序
A:2 B:5 C:3 D:4
A:108 B:110 C:120 D:100
A:-1,4,7,8,20,15,7,9 B:-1,4,8,9,20,7,15,7 C:其他均不对。 D:-1,7,15,7,4,8,20,9
A:不必事先估计存储空间 B:所需空间与线性长度成正比 C:可随机访问任一元素 D:插入、删除不需要移动元素
A:250 B:501 C:254 D:500
A:s->next=Top;Top=s; B:Top->next=s; C:s->next=Top->next;Top->next=s; D:s->next=Top;Top=Top->next;
A:10 B:25 C:7 D:1
A:s->next=r;r=s; B:f->next=c;f=s; C:s->next=f;f=s; D:r->next=s;r=s;
A:a4,a3,a2,a1 B:a3,a4,a2,a1 C:a3,a1,a4,a2 D:a3,a2,a4,a1
AI参考:正确答案是D:a3,a2,a4,a1。栈是一种后进先出(LIFO)的数据结构,因此栈的出栈序列应该是a1,a2,a3,a4。选项A和B都是可能的出栈序列,选项C也是可能的出栈序列,因为元素a3已经出栈,再进栈一个元素a4后,再出栈一个元素a1,然后再出栈一个元素a2,也是可能的。因此,只有选项D是不可能的出栈序列。'
A:6.5 B:11 C:5 D:6
A:对 B:错
A:错 B:对
A:错 B:对
A:对 B:错
A:错 B:对
A:错 B:对
A:对 B:错
A:对 B:错
A:错 B:对
A:错 B:对
A:对 B:错
A:对 B:错
A:错 B:对
A:错 B:对
A:对 B:错
A:错 B:对
A:对 B:错
A:错 B:对
A:错 B:对
A:对 B:错
温馨提示支付 ¥2.20 元后可查看付费内容,请先翻页预览!