查看所有试题
- 设F是一个森林,B是由F变换得的二叉树。若F中有n个非终端结点,则B中右指针域为空的结点有()个。某二叉树的中序序列为ABCDEFG,后序序列为BDCAFGE,则其左子树中结点数目为()。n-1
n
n+1#
n+23
2
4#
5
- 用链表表示线性表的优点是()。若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度()。按照二叉树的定义,具有3个结点的二叉树有()种。便于随机存取
花费的存储空间比顺序表少
便
- 堆是一种()排序。胶体的质点带有电荷,如Al2O3、Fe2O3带有正电荷,称为正胶体;SiO2、MnO2带有负电荷,成为负胶体。当胶体中加入一定量的电解质时,即发生()作用。插入
选择#
交换
归并酸化
中和#
脂化
置换
- 线性表L()情况下适用于使用链式结构实现。栈和队列的共同点是()。需经常修改L的结点值
需不断对L行删除插入#
L含有大量的结点
L结点结构复杂都是先进后出
都是先进先出
只允许在端点处插入和删除元素#
没有共同
- 采用简单选择排序,比较次数与移动次数分别为()。对线性表进行折半查找时,要求线性表必须()。O(n),O(logn)
O(logn),0(n*n)
0(n*n),0(n)#
0(nlogn),0(n)以顺序方式存储
以顺序方式存储,且结点按关
- 若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选()排序为宜。直接插入#
直接选择
堆
快速
- 已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为()队列的插入操作是在()。CBEFDA#
FEDCBA
CBEDFA
不定队尾#
队头
队列任意位置
队头元素后
- 运用直接插入排序方法对下面四个序列进行从小到大排序,69,80,40
40,21,90,46,46,80,90#O(1)
O(n)
O(m)#
O(m+n)需经常修改L中的结点值
需不断对L进行删除插入#
L中含有大量的结点
L中结点结构复杂
- 下列排序算法中()不能保证每趟排序至少能将一个元素放到其最终的位置上。当采用分快查找时,数据的组织方式为()。下列数据结构中,能用二分法进行查找的是()快速排序
shell排序#
堆排序
冒泡排序数据分成若干块,
- 将10个元素散列到100000个单元的哈希表中,则()产生冲突。一定会
一定不会
仍可能会#
以上都不对
- 对22个记录的有序表作折半查找,当查找失败时,至少需要比较()次关键字。3
4
5#
6
- 散列表的地址区间为0-17,并将关键字序列26,25,72,38,8,18,物理地址与逻辑地址不相同的,称之为()。广义表A=(a),则表尾为()。2
3
4#
5存储结构
逻辑结构
链式存储结构#
顺序存储结构a
(())
空表#
(a)
- 一般树和二叉树的结点数目都可以为0。关键路径是事件结点网络中()。已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,应()。若串P=”structure”,其子串的数目是()。解决哈希冲突的主要方法有()。
- 三元组表示法,需要2k个存储单元。数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为()与单向链表相比,使用双向链表存储数据
- 多维数组是向量的推广。以下()不是队列的基本运算正确#
错误从队尾插入一个新元素
从队列中删除第i个元素#
判断一个队列是否为空
读取队头元素的值
- 凡是递归定义的数据结构都可以用递归算法来实现它的操作。下面关于二叉树叙述正确的是()。正确#
错误二叉树是特殊的树
二叉树等价于度为2的树
完全二叉树必为满二叉树
二叉树的左右子树有次序之分#
- 在用单链表表示的链式队列中,队头在链表的链尾位置。将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为()。正确#
错误O(1)
O(n)
O(m)#
O(m+n)
- 三元组表示法用一个数组(顺序结构)来表示稀疏矩阵。数据结构的定义为(D,S),其中D是()的集合。设单循环链表中结点的结构为(data,link),且first为指向链表表头的指针,current为链表当前指针,在循环链表中检测c
- 47,15,47,15,35,84⑶15,27,47,84⑷15,35
- 单链表形式的队列,头指针F指向队列的第一个结点,尾指针R指向队列的最后一个节点。算法分析的两个主要方面是()。在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入一个结点s,则执行()。采用邻
- 后序序列和中序序列能唯一确定一棵二叉树。空串和空格串()正确#
错误相同
不相同#
可能相同
无法确定
- 三元组表示法,结点间的顺序按矩阵的列优先顺序排列(跳过非零元素)。下面哪一方法可以判断出一个有向图是否有环(回路)()。正确#
错误求节点的度
拓扑排序#
求最短路径
求关键路径
- 如果广义表中的元素全部都是原子,这种广义表就是线性表。具有n(n>0)个结点的完全二叉树的深度为()。对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。对线性表进行折半搜索时,要求线性
- 伪地址表示法,需要3k个存储单元。对线性表进行折半查找时,要求线性表必须()。通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着()。正确#
错误以顺序方式存储
以顺序方式存储,且结点按关键字有序排
- 在各层子广义表中允许共享的广义表,称为再入表。设给定权值总数有n个,其哈夫曼树的结点总数为()正确#
错误不确定
2n
2n+1
2n-1#
- 79,38,称之为()。有8个结点的无向图最多有()条边。在一个长度为n(n>1)的单链表上,执行()操作与链表的长度有关。正确#
错误表元素
字符
数据元素#
数据项79,46,80
84,56,79,56,40
- KMP算法时间代价为O(n)。对一些特殊矩阵采用压缩存储的目的主要是为了()。以下有关广义表的表述中,正确的是()。线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。在决定选取何种存储结构时,一般
- 在程序运行过程中,对于动态数据结构结的分配和回收需要采用动态存储管理的方法。将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为()。对于循环队列()。具有4个顶点的无向完全图有()条边。如果
- 而对空栈进行出栈运算时也会产生溢出,通常称为上溢。若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度()。广度优先遍历类似于二叉树的()设二维数组A[1„m,1„n]按行存储在数组B中,
- 允许(子)广义表直接(或间接)地把作为自己的子广义表时,这样的广义表,称为递归表。串与普通的线性表相比较,它的特殊性体现在()。按照二叉树的定义,具有3个结点的二叉树有()种。如果将所有中国人按照生日来排
- 除s本身之外,s的其它子串称为s的真子串。若以{4,5,6,7,8}作为权值构造哈夫曼树,则该树的带权路径长度为()。栈的数组表示中,top为栈顶指针,栈空的条件是()。若允许表达式内多种括号混合嵌套,则为检查表达式中括号
- 广义表单链表示法,其中字段link存放与本元素同层的下一个元素所对应结点的地址,当本元素是所在层的最后一个元素时,link=NULL。下面程序段的时间复杂度为()。i=1;while(i串与普通的线性表相比较,它的特殊性体现
- 朴素模式匹配算法,算法运行时间为O(m*n)。一个顺序栈S,其栈顶指针为top,则将元素e入栈的操作是()。深度优先遍历类似于二叉树的()正确#
错误*S->top=e;S->top++;#
S->top++;*S->top=e;
*S->
- 如果t中存在等于p的子串,就指出该子串在t中的位置,称为匹配成功;否则称为匹配失败。研究数据结构就是研究()。在n个结点的线性表的数组实现中,算法的时间复杂度是O(1)的操作是()。一个数组元素a[i]与()的表
- 任意串s都是s本身的子串。与单链表相比,双链表的优点之一是()。正确#
错误插入、删除操作更简单
可以进行随机访问
可以省略表头指针或表尾指针
顺序访问相邻结点更灵活#
- 广义表的表示方法主要有:单链表示法和循环链表表示法。下面计算正确的叙述是()算法执行过程中所需要的存储空间称为算法的()下面关于二叉树叙述正确的是()。正确#
错误计算fact(n)需要执行n次递
fact(7)=5
- 习惯上把在使用期间,可自由插入和删除的数据结构称为动态数据结构。正确#
错误
- 串s是s本身的真子串。正确#
错误
- 栈又称为先进先出表或下推表。设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为()。正确#
错误O(1)
O(log2n)#
O(n4)
O(n2)
- 栈结构不会出现溢出问题。若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素算法的时间复杂度()。依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是()。正确#