查看所有试题
- 下列关于字符串的说法中,只有()是正确的。将递归算法转换成对应的非递归算法时,通常需要使用()来保存中间结果。在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是()。字符串的长度
- 数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要()。需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是()。低
高#
相同
不好说单链表
静态链表#
线性链
- 27,35,20)进行排序时,35,35,27,21,35,47,a2
- 计算机内部数据处理基本的单位是()。已知一个顺序存储的线性表,设每个结点需占m个存储单元,若第一个结点的地址为da1,则第I个结点的地址为()。数据
数据元素#
数据项
数据库da1+(I-1)*m#
da1+I*m
da1-I*m
da1+
- 若INDEX(S,T)表示求T在S中的位置的操作,则对于S=“Beijing&Nanjing”,T=“jing”,INDEX(S,T)=()2
3
4#
5
- 算法时间复杂度的分析通常有两种方法,即()和()的方法,通常我们对算法求时间复杂度时,采用后一种方法。下面哪一方法可以判断出一个有向图是否有环(回路)()。事后统计;事前估计求节点的度
拓扑排序#
求最短路
- 若REPLACE(S,S1,S2)表示用字符串S2替换字符串S中的子串S1的操作,则对于S=“Beijing&Nanjing”,S1=“Beijing”,S2=“Shanghai”,REPLACE(S,S1,S2)=()。与单向链表相比,使用双向链表存储数据
- 采用三元组表存储稀疏矩阵,是为了()。节省存取时间
节省存储空间#
提高对矩阵元素的访问速度
提高对矩阵运算的可靠性
- 树形结构是数据元素之间存在一种()。折半查找法适用于()。以下有关广义表的表述中,正确的是()。在数据结构中,与所使用的计算机无关的是数据的()结构。希尔排序的增量序列必须是()。一个广义表的表头总是一
- ALV树是一种平衡的二叉排序树,树中任一结点的()已知串S=’aaab’,则next数组值为()。对一棵二叉排序树按()遍历,可得到结点值从小到大的排列序列。数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10
- 设语句x++的时间是单位时间,则以下语句的时间复杂度为()。for(i=1;i<=n;i++)for(j=i;j<=n;j++)x++;将10个元素散列到100000个单元的哈希表中,则()产生冲突。二分法查找,要求线性表一定是()。O(
- 在最坏的情况下,查找成功时二叉排序树的平均查找长度()小于顺序表的平均查找长度
大于顺序表的平均查找长度
与顺序表的平均查找长度相同#
无法与顺序表的平均查找长度比较
- 散列表中由于散列到同一个地址而引起的“堆积”现象,是由()若以{4,5,6,7,8}作为权值构造哈夫曼树,则该树的带权路径长度为()。深度优先遍历类似于二叉树的()二分法查找,要求线性表一定是()。同义词之间发生冲突
- 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。线性表是n个()的有限序列。在作进栈运算时,应先判别栈是否()。存储结构
逻辑结构
链式存储结构#
顺序存储结构表元素
字符
数据元素#
数据项
- 直接选择排序在最好情况下的时间复杂度是()。O(n)#
O(nlog2n)
O(1)
O(n2)
- N个结点的m阶B树至少包含()个关键字。(m-1)*n
n
(「m/2」-1)*(n-1)+1#
n*「m/2」-1)
- 下列有关图遍历的说法中不正确的是()非线性结构是数据元素之间存在一种()五节车厢以编号1,3,5顺序进入铁路调度站(栈),通常是采用()来实现算法的。当各边上的权值()时,()是非线性数据结构。连通图的深度
- 对N(n>0)个记录进行冒泡排序,最少要交换()记录。
- N(n>0)个节点的哈夫曼树恰含()个度为1的节点。深度优先遍历类似于二叉树的()以下()不是队列的基本运算设单链表中结点结构为(data,link).若想摘除结点*p的直接后继,则应执行下列哪一个操作()先序遍历#
- N个顶点,e条边的无权有向图的邻接矩阵中非零元素有()个。对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。下面程序段的时间复杂度为()。i=1;while(in
n-e
e#
e+正确性
可行性
健壮性#
- 在散列文件中,同一个桶内的所有记录应当具有()。相同的关键字
相同的散列值#
相同的某个属性值
相同的存取频率
- 在一个顺序队列中,队首指针指向队首元素的()位置。若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是()。前一个#
后一个
当前
后面9
11#
15
不能确定
- 在深度为6的完全二叉树中()。一个序列中有10000个元素,若只想得到其中前10个最小元素,则最好采用()方法。栈的数组表示中,top为栈顶指针,栈空的条件是()。线索二叉树是一种()构。最少有31个结点,最多有64个结
- 在有向图中每个顶点的度等于该顶点的()。栈中元素的进出原则是()已知图的邻接矩阵同上题8,根据算法,则从顶点0出发,按深度优先遍历的结点序列是()具有4个顶点的无向完全图有()条边。入度
出度
入度与出度之和
- 循环链表主要优点是()。若声明一个浮点数数组如下:froataverage[]=newfloat[30];假设该数组的内存起始位置为200,average[15]的内存地址是()。任何一棵二叉树的叶子结点在前序、中序和后序遍历序列中的相对次
- 将其分为左、右两个子序列,采用()方法最好。直接选择排序
直接插入排序
快速排序#
起泡排序1,3,4#
4,3,2,1
1,3,2
3,2起泡排序
堆排序#
锦标赛排序
快速排序
- 具有3个结点的二叉树的有()种不同形态。下面有向图所示的拓扑排序的结果序列是()。6
5#
3
4125634
516234#
123456
521643
- 在系统实现递归调用时需利用递归工作记录保存实际参数的值。在传值参数情形,需为对应形式参数分配空间,以存放实际参数的副本;在引用参数情形,需保存实际参数的(),在被调用程序中可直接操纵实际参数。和顺序栈相比
- 栈和队的相同点是()。广义表((a),a)的表尾是()。对于循环队列()。顺序存储的线性结构
链式存储的非线性结构
限制存取点的线性结构#
限制存取点的非线性结构a
A.#
()
(A.)A.无法判断队列是否为空
B.
- 对顺序表上的插入、删除算法的时间复杂性分析来说,通常以()为标准操作来考虑。条件判断
结点移动#
算术表达式
赋值语句
- 对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为()的值除以9。堆排序是一种()排序。20
18
25#
22插入
选择#
交换
归并
- 下列存储形式中,()不是树的存储形式。双亲表示法
左子女右兄弟表示法
广义表表示法#
顺序表示法
- 在一棵树中,()没有前驱结点。数据结构在计算机内存中的表示是指()。设F是一个森林,B是由F变换得的二叉树。若F中有n个非终端结点,则B中右指针域为空的结点有()个。根据先序序列ABDC和中序序列DBAC确定对应的二
- 单链表的一个存储结点包含()。采用简单选择排序,比较次数与移动次数分别为()。数据域或指针域
指针域或链域
指针域和链域
数据域和指针域#O(n),O(logn)
O(logn),0(n*n)
0(n*n),0(n)#
0(nlogn),0(
- 在顺序栈中删除一个元素,至少要移动()元素。队列的插入操作是在()。广义表A=((x,(a,B)),(x,(a,B),y)),则运算head(head(tail(A)))的结果为()。0#
1
n/2
队尾#
队头
队列任意位置
队头元素后x#
(a,B)
(x,(a,
- 链表适用于()查找。假设有60行70列的二维数组a[1…60,那么第32行第58列的元素a[32,58]的存储地址为。(无第0行第0列元素)()下面关于AOE网的叙述中,不正确的是()非空的循环单链表head的尾结点(由p所指向)满足
- 二分法查找,要求线性表一定是()。队列的插入操作是在()。解决散列法中出现的冲突问题常采用的方法是()。顺序存储的无序表
链式存储的无序表
顺序存储的有序表#
链式存储的有序表队尾#
队头
队列任意位置
队头
- 引入二叉线索树的目的是()采用稀疏矩阵的三元组表形式进行压缩存储,若要完成对三元组表进行转置,只要将行和列对换,这种说法()。对一个满二叉树,m个叶子,n个结点,深度为h,则()。设有广义表D=(a,D),其长度为(
- 栈和队列逻辑上都是线性表。循环链表的主要优点是()。在循环双链表的p所指的结点之前插入s所指结点的操作是()。正确#
错误不再需要头指针
已知某结点位置后能容易找到其直接前驱
在进行插入、删除运算时能保证链
- 采用折半查找方法进行查找,数据文件应为(),且限于()。设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。for(i=n-1;i>=0;i--)for(j=0;j若允许表达式内多种括号混合嵌套,则为检查表达式中