第二次单元测试题库串到树 1.docx
《第二次单元测试题库串到树 1.docx》由会员分享,可在线阅读,更多相关《第二次单元测试题库串到树 1.docx(13页珍藏版)》请在冰豆网上搜索。
第二次单元测试题库串到树1
一、判断题
四.串
1、确定串T在串S中首次出现的位置的操作称为串的模式匹配。
()
2、如果一个串中的所有字符均在另一串中出现,则说前者是后者的子串。
()
3、一个任意串是其自身的子串。
()
1、∨2、Χ3、∨
五.数组和广义表
1、多维数组是向量的推广。
()/*数组和广义表线性表在含义上的扩展*/
2、用相邻矩阵表示图所用的存储空间大小与图的边数成正比。
()/*顶点*/
3、除插入和删除操作外,数组的主要操作还有存取、修改、检索和排序等。
()
4、稀疏矩阵中0元素的分布有规律,因此可以采用三元组方法进行压缩存储。
()/*稀疏矩阵中0元素的分布无规律*/
5.如果采用如下方式定义一维字符数组:
constintmaxSize=30;/*常变量在程序运行中不能进行修改*/
chara[maxSize];
则这种数组在程序执行过程中不能扩充。
6.如果采用如下方法定义一维字符数组:
intmaxSize=30;
char*a=newchar[maxSize];
则这种数组在程序执行过程中不能扩充。
7.数组是一种静态的存储空间分配,就是说,在程序设计时必须预先定义数组的数据类型和存储空间大小,由编译程序在编译时进行分配。
/*对于数组一旦规定了它的维数和各维长度,便可为它分配存储空间*/
8.多维数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。
9.使用三元组表示稀疏矩阵中的非零元素能节省存储空间。
10.用字符数组存储长度为n的字符串,数组长度至少为n+1。
1-5ΧΧΧΧ∨
6-10ΧΧ∨∨∨
11、一个广义表的深度是指该广义表展开后所含括号的层数。
()
12.一个广义表的表头总是一个广义表。
()
13.一个广义表的表尾总是一个表。
()
14.一个广义表((a),((b),c),(((d))))的长度为3,深度为4。
()
15.一个广义表((a),((b),c),(((d))))的表尾是(((b),c),(((d))))。
(129)
11、∨12、Χ13、∨14、∨15、∨
六.树
1、一般树和二叉树的结点数目都可以为0。
()
2、在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。
()
3、折半搜索只适用与有序表,包括有序的顺序表和有序的链表。
()
4、哈夫曼树一定是满二叉树。
()
5、给定一组权值,可以唯一构造出一棵哈夫曼树。
()
6、深度为h的非空二叉树的第i层最多有2i-1个结点。
()
7、满二叉树也是完全二叉树。
()
8、已知一棵二叉树的前序序列和后序序列可以唯一地构造出该二叉树。
()
9、非空二叉排序树的任意一棵子树也是二叉排序树。
()
10、对一棵二叉排序树进行前序遍历一定可以得到一个按值有序的序列。
()
11、设与一棵树T所对应的二叉树为BT,则与T中的叶子结点所对应的BT中的结点也一定是叶子结点。
()
12、哈夫曼树一定是完全二叉树。
()
13、由一棵二叉树的前序序列和后序序列可以唯一确定它。
()
14、在完全二叉树中,若某结点元左孩子,则它必是叶结点。
()
15、树的带权路径长度最小的二叉树中必定没有度为1的结点。
()
16、二叉树可以用0≤度≤2的有序树来表示。
()
17、一组权值,可以唯一构造出一棵哈夫曼树。
()
18、将一棵树转换成二叉树后,根结点没有左子树;()/*没有右子树*/
19、用树的前序遍历和中序遍历可以导出树的后序遍历;()
20.二叉树是一棵无序树。
()
21.在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行前序遍历和后序遍历,则具有相同的结果。
()
22.在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行中序遍历和后序遍历,则具有相同的结果。
()
23.在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行前序遍历和中根遍历,则具有相同的结果。
()
24.在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行前序遍历和按层遍历,则具有相同的结果。
()
25.在树的存储中,若使每个结点带有指向双亲结点的指针,这为在算法中寻找双亲结点带来方便。
()
26.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(n)。
()
27.对于一棵具有n个结点,其高度为h的任何二叉树,进行任一种次序遍历的时间复杂度均为O(h)。
()
28.对于一棵具有n个结点的任何二叉树,进行前序、中序或后序的任一种次序遍历的空间复杂度为O(log2n)。
()/*log2n下取整+1*/
29.在一棵具有n个结点的线索二叉树中,每个结点的指针域可能指向子女结点,也可能作为线索,使之指向某一种遍历次序的前驱或后继结点,所有结点中作为线索使用的指针域共有n个。
()
30.线索二叉树中的每个结点通常包含有5个数据成员。
()
1-5∨Χ∨ΧΧ6-10Χ∨Χ∨Χ
11-15ΧΧΧ∨∨16-20ΧΧΧ∨Χ
21-25Χ∨Χ∨∨26-30∨ΧΧΧ∨
二、填空题:
四.串
1、一个串的任意个连续的字符组成的子序列称为该串的__子串______,包含该子串的串称为
___主串_____。
2、求串T在主串S中首次出现的位置的操作是___Index(S,T,pos)_____________。
3、在初始为空的队列中插入元素A,B,C,D以后,紧接着作了两次删除操作,此时的队尾元素是___D_______。
4、在长度为n的循环队列中,删除其节点为x的时间复杂度为___O(n)____________。
5、已知广义表L为空,其深度为_____1______。
6.若设串S=“documentHash.doc\0”,则该字符串S的长度为_____16____。
1、子串,主串2、Index(S,T,pos)3、D4、O(n)5、16.16
五.数组和广义表
1、已知一顺序存储的线性表,每个结点占用k个单元,若第一个结点的地址为DA1,则第i个结点的地址为___DA1+(i-1)*k___________。
2、设一行优先顺序存储的数组A[5][6],A[0][0]的地址为1100,且每个元素占2个存储单元,则A[2][3]的地址为__1130___________。
3、设有二维数组A[9][19],其每个元素占两个字节,第一个元素的存储地址为100,若按行优先顺序存储,则元素A[6,6]的存储地址为____340__________,按列优顺序存储,元素A[6,6]的存储地址为_____220_________。
/*100+(6*9+6)*2*/
4、假设以行为优先存储的三维数组A[5][6][7],A[0][0][0]的地址为1100,每个元素占两个存储单元,则A[4][3][2]的地址为__1482_____。
/*1100+{(4*6+3)*7+2}*2*/
4、设二维数组A[m][n]按列优先存储,每个元素占1个存储单元,元素A00的存储地址loc(A00),则Aij的存储地址loc(Aij)=_loc(A00)+j*_m+i__________________。
6、稀疏矩阵一般采用_三元组_________方法进行压缩存储。
7、稀疏矩阵可用_三元组________进行压缩存储,存储时需存储非零元的__行号______、____列号____、__值______。
8、若矩阵中所有非零元素都集中在以主对角线为中心的带状区域中,区域外的值全为0,则称为_____对角矩阵_____。
9、若一个n阶矩阵A中的元素满足:
Aij=Aji(0<=I,j<=n-1)则称A为___对称_________矩阵;若主对角线上方(或下方)的所有元素均为零时,称该矩阵为___(上)下三角矩阵___________。
10、对于下三角形和上三角形矩阵,分别以按行存储和按列存储原则进行压缩存储到数组M[k]中,若矩阵中非0元素为Aij,则k对应为__(1+i)*(i-1)/2+j(i>=j)____和_(1+j)*(j-1)/2+i(i<=j)_________(下标从0开始)。
11、设有一下三角形矩阵A[5][5]按行压缩存储到数组B中,B[0]的地址为100,每个元素占2个单元,则A[3][2]地址为_____116_______。
/*{3*(3+1)/2+2}*2=16*/
12.一维数组所占用的空间是连续的。
但数组元素不一定顺序存取,通常是按元素的____下标_____存取的。
13.在程序运行过程中不能扩充的数组是_静态_________分配的数组。
这种数组在声明它时必须指定它的大小。
14.在程序运行过程中可以扩充的数组是_____动态_____分配的数组。
这种数组在声明它时需要使用数组指针。
?
15.二维数组是一种非线性结构,其中的每一个数组元素最多有_________个直接前驱(或直接后继)。
16.若设一个nn的矩阵A的开始存储地址LOC(0,0)及元素所占存储单元数d已知,按行存储时其任意一个矩阵元素a[i][j]的存储地址为_LOC(0,0)+(i*n+j)d________。
17.对称矩阵的行数与列数__相等_______且以主对角线为对称轴,aij=aji,因此只存储它的上三角部分或下三角部分即可。
18.将一个n阶对称矩阵的上三角部分或下三角部分压缩存放于一个一维数组中,则一维数组需要存储__n*(n+1)/2_______个矩阵元素。
19.利用三元组表存放稀疏矩阵中的非零元素,则在三元组表中每个三元组元素对应一个非零元素的行号、列号和___值______。
1、DA1+(i-1)*k2、1100+(6*2+3)*2=11303、100+(19*6+6)*2=340,100+(9*6+……)*2=2204、14825、loc(a00)+(j*m+i)*16、三元组7、三元组,行号,列号,值8、对角矩阵9、上(下)三角矩阵10、i*(i-1)/2+j-1(i≥j),j*(j-1)/2+i-1(i12.下标(或顺序号)13.静态14.动态15.两个16.LOC(0,0)+(i*n+j)*d17.相等18.n(n+1)/219.值
21、广义表(A,(a,b),d,e,((i,j),k)),则广义表的长度为_____5______,深度为_______3____。
22、已知广义表A=((a,b,c),(d,e,f)),则运算head(head(tail(A))))=____d_______。
23、已知广义表ls=(a,(b,c,d),e),运用head和tail函数取出ls中的原子b的运算是head(head(tail(s)))_____。
24.非空广义表的除第一个元素外其他元素组成的表称为广义表的___表尾_____。
25.广义表A((a,b,c),(d,e,f))的表尾为__25.((d,e,f))
______。
26.广义表是一种递归的数据结构,子表结点则指示下一层广义表的__表头结点______。
27.广义表的深度定义为广义表括号的____层数____。
21、5,322、d23、head(head(tail(s)))