查看所有试题
- 80,65,30,80,50,80,65,55,80,30
- 设广义表L=((a,b,c)),则L的长度和深度分别为()。树中所有结点的度之和等于所有结点数加()。1和1
1和3
1和2#
2和30
1
-1#
2
- 75,77,65,40,14,30,65,55,55,100
- 函数实现串的模式匹配算法,请在空格处将算法补充完整。intindex_bf(sqstring*s,sqstring*t,intstart){inti=start-1,j=0;while(ilen&&jlen)if(s->data[i]==t->data[j]){i++;j++;}else{i=()
- 完全二叉树某结点有右子树,则必然有左子树。栈的数组表示中,top为栈顶指针,栈空的条件是()。线索二叉树是一种()构。正确#
错误top=0#
top=maxSize
top=maxSize
top=-1逻辑
逻辑和存储
物理#
线性
- 求子串在主串中首次出现的位置的运算称为()。采用简单选择排序,比较次数与移动次数分别为()。一个广义表的表尾总是一个()。模式匹配O(n),O(logn)
O(logn),0(n*n)
0(n*n),0(n)#
0(nlogn),0(n)
- KMP算法的最大特点是指示主串的指针不需要回溯。对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是()。正确#
错误直接
- 设SUBSTR(S,i,k)是求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=’Beijing&Nanjing’,SUBSTR(S,4,5)=()。希尔排序属于()‘ijing’
‘jing&’#
‘ingNa’
‘ing&N’交换排序
归并排序
选择
- 设串长为n,模式串长为m,则KMP算法所需的附加空间为()。堆排序是一种()排序。若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为()。堆是一种()排序
- 空串和空格串()对序列(22,19,49,12,30,65,22,49,35,86)
- 已知串S=’aaab’,则next数组值为()。对一个算法的评价,不包括如下()方面的内容。栈和队列的共同点是()。设单链表中结点结构为(data,link).若想摘除结点*p的直接后继,则应执行下列哪一个操作()对线性表进行
- 串与普通的线性表相比较,它的特殊性体现在()。计算机内部数据处理基本的单位是()。顺序的存储结构
链式存储结构
数据元素是一个字符#
数据元素任意数据
数据元素#
数据项
数据库
- 且限于()。下列广义表用图来表示时,分支结点最多的是()。连接
求子串
模式匹配#
判断子串有序表;顺序存储结构#
有序表;链式存储结构
随机表;顺序存储结构
随机表;链式存储结构L=((x,(a,B),y))#
A=(s,
- 对于一个栈,给出输入项A,B,C,D,如果输入项序列为A,B,C,D,试给出全部可能的输出序列。在深度为7的满二叉树中,叶子结点的个数为()在一个顺序队列中,队首指针指向队首元素的()位置。出栈的可能序列:ABCDABDCACDBAC
- 阅读算法f2,并回答下列问题:(1)设队列Q=(1,3,5,2,4,6)。写出执行算法f2后的队列Q;(2)简述算法f2的功能。voidf2(Queue*Q){DataTypee;if(!QueueEmpty(Q)){e=DeQueue(Q);f2(Q);EnQueue(Q,e);}}
- 返回栈顶元素intisEmpty(SqStacks);判断栈空队列的ADT函数有:voidenQueue(Queueq,ElemTypee);元素e入队ElemTypedeQueue(Queueq);出队,100,30,55,55,50,14,30,14
- 已知栈的基本操作函数:intInitStack(SqStack*S);//构造空栈intStackEmpty(SqStack*S);//判断栈空intPush(SqStack*S,ElemTypee);//入栈intPop(SqStack*S,ElemType*e);//出栈函数conversion实现十进制数
- 以链表作为栈的存储结构,出栈操作必须判别栈空的情况。图的Depth-FirstSearch(DFS)遍历思想实际上是二叉树()遍历方法的推广。若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用
- 在单链表中,要访问某个结点,只要知道该结点的地址即可;因此,单链表是一种随机存取结构。n个顶点的完全有向图中含有()。正确#
错误n-1条有向边
n条有向边
n(n-1)/2条有向边
n(n-1)条有向边#
- 栈和队列都是受限的线性结构。下列排序方法中()方法是不稳定的。线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。用链表表示线性表的优点是()。正确#
错误冒泡排序
选择排序
堆排序#
直接插入排
- 在具有n个元素的循环队列中,队满时具有()个元素。下面有向图所示的拓扑排序的结果序列是()。下面关于B树和B+树的叙述中,不正确的结论是()。n-1125634
516234#
123456
521643B树和B+树都能有效的支持顺序查找
- 设循环队列的容量为70,现经过一系列的入队和出队操作后,front为20,rear为11,则队列中元素的个数为()。若在线性表中采用折半查找法查找元素,该线性表应该()。从逻辑上可以把数据结构分为()两大类。在对n个元素
- 元素e1,e2,e5,e6依次通过栈S,一个元素出栈后即进入队列Q,e4,e6,则栈的容量至少应该是()。在n个结点的线性表的数组实现中,且关键字为实数,则在下列排序方法中应选()排序为宜。3访问第i(1<=i<=n)个结点和求
- 一个循环队列Q的存储空间大小为M,其队头和队尾指针分别为front和rear,则循环队列中元素的个数为:()。冒泡排序在最坏情况下的比较次数是()下列存储形式中,()不是树的存储形式。空串与空格字符组成的串的区别在
- 依次在初始为空的队列中插入元素a,38,84),46,38,56,46#
84,38
84,79,38要排序的数据量太大
要排序的数据中有多个相同值
要排序的数据已基本有序#
要排序的数据个数为奇数快速排序
shell排序#
堆排序
冒泡排序
- 正常情况下,删除非空的顺序存储结构的堆栈的栈顶元素,栈顶指针top的变化是()。在一个长度为n的顺序表中删除第i个元素,需要向前移动()个元素。top不变
top=0
top=top+1
top=top-1#n-i#
n-i+1
n-i-1
i+1
- 4,则队列的出队序列是()。假设有60行70列的二维数组a[1…60,1…70]以列序为主序顺序存储,其基地址为10000,58]的存储地址为。(无第0行第0列元素)()采用三元组表存储稀疏矩阵,2,2,4,216902#
16904
14454
答案A,B
- front和rear分别为头指针和尾指针,2,S2)表示用字符串S2替换字符串S中的子串S1的操作,则对于S=“Beijing&Nanjing”,S1=“Beijing”,S2=“Shanghai”,REPLACE(S,1
1,2,1first==NULL
first->1ink==NULL#
first->link
- 判定一个顺序栈S(栈空间大小为n)为空的条件是()。根据使用频率为5的字符设计的哈夫曼编码不可能是()N个顶点,001,010,1
B、0000,0001,001,01,1
C、000,100,101
- 五节车厢以编号1,4,2
2,4,1,5,3,5,2,4
- 栈的插入和删除操作在()。依次在初始为空的队列中插入元素a,b,紧接着做了两次删除操作,此时的队头元素是()。设哈希表长m=14,哈希函数H(key)=keyMOD11。表中已有4个结点:addr(15)=4,addr(38)=5,addr(61)
- 将递归算法转换成对应的非递归算法时,通常需要使用()来保存中间结果。栈在()中应用。队列
栈#
链表
树递归调用
子程序调用
表达式求值
A,B,C#
- 将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子编号为()。引入二叉线索树的目的是()具有3个结点的二叉树的有()种不同形态。98#
- 对一些特殊矩阵采用压缩存储的目的主要是为了()。用顺序存储的方法,将完全二叉树中所有结点按层逐个从左到右的顺序存放在一维数组R[1..N]中,若结点R[i]有右孩子,则其右孩子是()。若已知一个栈的入栈序列是1,2,…,
- 表达式a*(b+c)-d的后缀表达式是()。abcd+-
abc+*d-#
abc*+d-
-+*abcd
- 一个顺序栈S,其栈顶指针为top,则将元素e入栈的操作是()。允许对队列进行的操作有()。设有两个串t和p,求p在t中首次出现的位置的运算叫做()。*S->top=e;S->top++;#
S->top++;*S->top=e;
*S->
- 循环队列的队头和队尾指针分别为front和rear,则判断循环队列为空的条件是()。数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公
- 队列的插入操作是在()。设广义表L=((a,b,c)),则L的长度和深度分别为()。若串S=‘software’,其子串的数目是()。查找效率最高的二叉排序树是()。队尾#
队头
队列任意位置
队头元素后1和1
1和3
1和2#
2和38
- 若用一个大小为6的数组来实现循环队列,且当rear和front的值分别为0,3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()。正常情况下,栈顶指针top的变化是()。当各边上的权值()时,则运算head
- 一个栈的输入序列为:1,2,3,4,则栈的不可能输出的序列是()。向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动个元素()。在存储数据时,通常不仅要存储各数据元素的值,而且还要存储()。