数据结构习题及参考答案.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:51 大小:2.1MB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

数据结构习题及参考答案.doc

数据结构习题及参考答案.doc

预览

免费试读已结束,剩余 41 页请下载文档后查看

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

----习题1一、单项选择题*1.数据结构是指()A。A.数据元素的组织形式B.数据类型C.数据存储结构D.数据定义2.数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为(C)。A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构3.树形结构是数据元素之间存在一种(D)。A.一对一关系B.多对多关系C.多对一关系D.一对多关系4.设语句x++的时间是单位时间,则以下语句的时间复杂度为(B)。for(i=1;i<=n;i++)for(j=i;j<=n;j++)x++;A.O(1)B.O()C.O(n)D.O()5.算法分析的目的是(C),算法分析的两个主要方面是(A)。(1)A.找出数据结构的合理性B.研究算法中的输入和输出关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性6.计算机算法指的是(C),它具备输入,输出和(B)等五个特性。(1)A.计算方法B.排序方法C.解决问题的有限运算序列D.调度方法(2)A.可行性,可移植性和可扩充性B.可行性,确定性和有穷性C.确定性,有穷性和稳定性D.易读性,稳定性和安全性7.数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要(B)。A.低B.高C.相同D.不好说*8.数据结构作为一门独立的课程出现是在(D)年。A.1946B.1953C.1964D.19689.数据结构只是研究数据的逻辑结构和物理结构,这种观点(B)。A.正确B.错误C.前半句对,后半句错D.前半句错,后半句对*10.计算机内部数据处理的基本单位是(B。A.数据B.数据元素C.数据项D.数据库二、填空题1.数据结构按逻辑结构可分为两大类,分别是_线性_________和______非线性___________。2.数据的逻辑结构有四种基本形态,分别是__集合、线性_、___树和图____。有点问题3.线性结构反映结点间的逻辑关系是____一对一____________的,非线性结构反映结点间的逻辑关系是_____多对多_或一对多_____________的。4.一个算法的效率可分为_______时间__效率和_空间__效率。5.在树型结构中,树根结点没有____前驱______________结点,其余每个结点的有且只有_____一_____________个前趋驱结点;叶子结点没有_______后继___________结点;其余每个结点的后续结点可以_______存在___________。6.在图型结构中,每个结点的前趋结点数和后续结点数可以___不确定_______________。7.线性结构中元素之间存在___顺序映像_______________关系;树型结构中元素之间存在_____一对多_____________关系;图型结构中元素之间存在______多对多____________关系。8.下面程序段的时间复杂度是______O()____________。for(i=0;i<n;i++)for(j=0;j<n;j++)A[i][j]=0;9.下面程序段的时间复杂度是__________________。10.下面程序段的时间复杂度是__________________。s=0;for(i=0;i<n;i++)for(j=0;j<n;j++)s+=B[i][j];sum=s;11.下面程序段的时间复杂度是__________________。i=1;while(i<=n)i=i*3;12.衡量算法正确性的标准通常是____________________________________。13.算法时间复杂度的分析通常有两种方法,即___事前估计_和_事后统计__的方法,通常我们对算法求时间复杂度时,采用后一种方法。三、求下列程序段的时间复杂度。1.x=0;for(i=1;i<n;i++)for(j=i+1;j<=n;j++)x++;2.x=0;for(i=1;i<n;i++)for(j=1;j<=n-i;j++)x++;3.inti,j,k;for(i=0;i<n;i++)for(j=0;j<=n;j++){c[i][j]=0;for(k=0;k<n;k++)c[i][j]=a[i][k]*b[k][j]}4.i=n-1;while((i>=0)&&A[i]!=k)