20012002年度期末考试试题
《数据结构》综合复习资料
一、填空题
1、数据结构是( )。
2、抽象数据类型是( )。
3、数据结构的四种基本形式为( )、( )、( )和( )。
4、从逻辑关系上讲,数据结构主要分为两大类,它们是( )和( )。
5、数据在计算机中的存储只有两种形式,一种是数据元素逐个连续存放,通过物理相邻来确定关系,这种存储方式称为( )存储;另一种是数据元素任意存放,通过存储地址确定关系,这种存储方式称为( )存储。
6、算法的特性有( )、( )、( )、( )。
7、算法设计的评价标准为( )、( )、( )、( )。
8、求下列程序的时间复杂度,并用大O表示方法表示( )。
for( i=1 ; i<=n ; + + i)
for( j=1 ; j<=i; + + j )
{ ++x;
a[i,j] = x;
}
9、线性结构的基本特征是:若至少含有一个结点,则除起始结点没有直接( )外,其他结点有且仅有一个直接( );除终端结点没有直接( )外,其它结点有且仅有一个直接( )。
10、对于顺序表的插入算法来说,若以结点移动为标准操作,则插入算法的最坏时间复杂度为( );插入算法的平均时间复杂度为( )。
11、以下为求单链表表长的运算,分析算法,请在 ________处填上正确的语句。
int length_lklist(lklist head) /*求表head的长度*/
{________;
j=0;
while(p->next!=NULL)
{________________;
j++;
}
return(j); /*回传表长*/
}
12、堆栈的特点是( ) ,队列的特点是( )。
13、以下运算实现在链栈上的退栈,请在________________处用请适当句子予以填充。
int Pop(LstackTp *ls,DataType *x)
{ LstackTp *p;
if(ls!=NULL)
{ p=ls;
*x=________________;
ls=ls->next;
________________;
return(1);
}else return(0);
}
14、字符串s1=“I am a student”(单词与单词之间一个空格),s2=“student”,则字符串s1的长度为( ) ,串s2在s1中的位置为( )。
15、含零个字符的串称为( )串,用( )表示。其他串称为( )串。任何串中所含( )的个数称为该串的长度。
16、当且仅当两个串的( )相等并且各个对应位置上的字符都( )时,这两个串相等。一个串中任意个连续字符组成的序列称为该串的( )串,该串称为它所有子串的( )串。
17、通常采用( )存储结构来存放数组。对二维数组可有两种存储方法:一种是以( )为主序的存储方式,另一种是以( )为主序的存储方式。C语言数组用的是以( )序为主序的存储方法;FORTRAN语言用的是以( )序为主序的存储方法。
18、假设以一维数组M(1,n(n+1)/2)作为n阶对称矩阵A的存储结构,以行序为主序存储其下三角(包括对角线)中的元素,数组M和矩阵A间对应的关系为( )。
19、在C语言中定义二维数组float a[8][10],每个数据元素占4个字节,则数组共占用( )字节的内存。若第一个数据元素的存储地址为8000,则a[5][8]的存储地址为( )。
20、设A是一个m*n阶矩阵,A按列序存储在一组连续的存储单元中,每个元素占用w个存储单元,若A[1,1]的存储地址为base,则A[i,j]的存储地址为( )。
21、广义表((a),((b),c),(((d))))的长度为( ),深度为( ),表头为( ),表尾为( )。
22、如果将一棵有n个结点的完全二叉树按层编号,则对任一编号为i(1<=i<=n)的结点X有:
若i=1,则结点X是( );若i〉1,则X的双亲PARENT(X)的编号为( )。
若2i>n,则结点X无( )且无( );否则,X的左孩子LCHILD(X)的编号为( )。
若2i