1、数据结构练习题第一章单项选择1.算法指的是( A)。A.对特定问题求解步骤的一种描述,是指令的有限序列。 B. 解决问题的计算方法C.计算机程序 D. 数据处理2. 下面(B算法所必须具备的特性。 A.可行性 B. 高效性 C. 确定性 D. 有穷性3. 算法分析的两个主要方面是(C)A. 数据复杂性和程序复杂性 B. 可读性和文档性 C. 空间性能和时间性能 D. 正确性和简明性4.链式存储结构(非顺序存储映象):借助(D )表示数据元素之间的逻辑关系。 A存储空间的大小 B, 元素在存储器中的相对位置 C. 元素值的大小 D. 指示元素存储地址的指针5.当一个算法的空间复杂性与问题的规模n
2、成正比时,则表示为(B )。A.O(1) B.O( n) C. O(n*n) D. On6.解决具体问题的步骤有:具体问题 、算法、数学模型、程序。分析问题正确的顺序为( B)。 A.具体问题 、分析问题、算法、数学模型、程序 B. 具体问题、分析问题、数学模型、算法、程序 C. 具体问题、分析问题、数学模型、程序、算法 D. 数学模型、具体问题 、分析问题、算法、程序7. .顺序存储结构(顺序映象):借助元素在存储器中的(B )来表示数据元素之间的逻辑关系。A. 地址 B. 位置 C. 容量 D. 速度8. .当一个算法的时间复杂性与问题的规模n大小无关时,则表示为( B)。A.1 B.O(
3、1) C.O(n) D.O(0) 9.链接存储结构中的数据元素之间的逻辑关系是由( C)表示的。A. 线性结构 B. 存储位置 C. 指针 D. 非线性结构10.假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。则表示该遗产继承关系的最合适的数据结构应该是(D )。A. 树 B. 集合 C. 线性表 D. 图11.以基本操作重复执行的次数作为算法的时间量度,则下列C程序段的时间复杂度为(C )。for ( j = 1 ;j=n ; +j ) for ( i = j ;i=n ; +i ) +x ; s+ = x ; A. O(n*n/2) B
4、. O(n*n)/2 C. O(n*n) D. O(n(n+1)/2)12.数据结构是一门研究(B)的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。A, 数值计算 B. 非数值计算 C. 时间复杂度和空间复杂度 D. 数据关系13.算法的空间复杂度是指算法执行时(D)的增长率与问题规模n之间的关系。 A. 程序代码占用的存储空间 B. 问题本身占用存储空间 C. 程序代码和问题本身占用的存储空间 D. 所需的辅助存储空间14.假定待处理的数据量用n表示,算法A中基本操作的语句频度f(n)=(n*n+n+5)/2;则算法A的时间复杂度T(n)为(D ) A. O(n*n+n+5
5、) B. O(n*n+n+5)/2) C. O(n*n+n) D. O(n*n)15.顺序存储结构中数据元素之间的逻辑关系是由(C )表示的。 A. 非线性结构 B. 指针 C存储位置. D. 线性结构16. .算法分析的目的是(D )。A.找出数据结构的合理性 B. 找出数据结构的合理性B. C. 研究算法中输入和输出的关系 D. 分析算法的性能以求改进 判断题17. 算法的时间复杂度都要通过算法中的基本语句的执行次数来确定。(:错误 )18. .每种数据结构都具备三个基本操作:插入、删除和查找。(错误) 19.基于某种逻辑结构之上的基本操作,其实现是唯一的。 (错误)20.逻辑结构与数据元
6、素本身的内容和形式无关。 (正确) 线性表:顺序存储结构单项选择1.从逻辑上可以把数据结构分为(A )两大类。 A. 线性结构与非线性结构 B. 动态结构与静态结构 C. 初等结构与构造型结构 D. 顺序结构与链式结构2.下面关于线性表的叙述错误的是(C)。 A. 线性表采用顺序存储,必须占用一片地址连续的单元 B. 线性表采用链式存储,不必占用一片地址连续的单元 C. 线性表采用顺序存储,便于进行插入和删除操作 D. 线性表采用链式存储,便于进行插入和删除操作3. 对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概念的,插入一个元素时平均要移动表中的(C)个元素。 A. (
7、n1)/2 B. n C. n/2 D. n1)/24. 顺序表-插入操作算法的基本操作是(B)。 A. 数据交换 B. 数据移动 C数据相加 D. 数据比较5. .在数据结构中,ElemType是(D )A链表的结点类型名 B. 用变量名 C. 数组元素 D. 数据元素类型名6. 顺序表的基本操作 DestroyList用于销毁一个顺序表。算法描述如下:Status DestroyList(_C_)free(L.elem);L.elem=NULL;L.length=0;L.listsize=0;return(OK);请选择正确的选项填在空中。A. SqList L B. SqList *L
8、C. SqList &L D. char *L7. 下面( )不是算法所必须具备的特性。 A . 可行性 B确定性. C. 确定性 D高效性8. .删除顺序表 L中从第 i 个元素起的 k 个元素的算法,请选择正确的选项作为其参数表。Status DeleteBlock(_C_);A. SqList L,int i,int k B. SqList L,int &i,int k C. SqList &L,int i,int k D SqList L,int i,int &k9.顺序表的基本操作 ListLength用于求顺序表的长度。算法描述如下:int ListLength(SqList L)
9、 _B_;请选择正确的选项填在空中。 A. return(L.size ) B return(L.length) C return(L.elem) D. return(length)10. 线性表是(A)。A 一个有限序列,可以为空 B一个无限序列,不能为空 C一个有限序列,不能为空 D一个无限序列,可以为空11. 在发生非法操作时,算法能够作出适当处理的特性称为( C)。A.可移植性 B. 可读性 C. 健壮性 D. 正确性12. 顺序表的基本操作 ClearList用于将一个顺序表置为空表。算法描述如下:Status ClearList(SqList &L)_(_D_)return(OK)
10、;请选择正确的选项填在空中。A.L.size=0; B. for(i=0;i next=NULL;L - data=0;return OK; A .sizeof ( ElemType ) B. 100*sizeof ( Lnode ) C. 100*sizeof ( ElemType ) D . sizeof ( Lnode )6. .采用链式存储结构表示数据时,相邻的数据元素的存储地址(B)。A. 一定不连续 B. 不一定连续 C. 一定连续 D. 部分连续,部分不连续7. 带头结点的单链表逆置算法如下: voidinvert(LinkList L) p=L-next;L-next=NULL
11、; while(p)q=p;p=p-next;(_C_)A.q-next=L; L-next=q;B. L-next=q-next; q-next=L; C. q-next=L-next; L-next=q; D.L-next=q;8.顺序表-插入操作算法的基本操作是(D)。A. 数据相加 B. 数据交换 C. 数据比较 D. 数据移动9.若某线性表中最常用的在操作是取第i个元素和找第i个元素的前驱元素,则采用(D)存储方式最节省运算时间。 A. 单循环链表 B. 单链表 C. 双向链表 D. 顺序表10.用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j 沿链移动的操作为(B)。 A. j=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1