数据结构自测题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构自测题
1、算法的计算量的大小称为计算的()。
A. 效率
B. 复杂性
C. 现实性
D. 难度
2、一个算法应该是()。
A.程序
B.问题求解步骤的描述
C.要满足五个基本特性
D.A和C.
3、下面说法错误的是()
(1)算法原地工作的含义是指不需要任何额外的辅助空间
(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界
(4)同一个算法,实现语言的级别越高,执行效率就越低
A.(1) B. (1), (2) C. (1), (4) D. (3)
4、在数据结构中,从逻辑上可以将之分为()。
A. 动态结构和静态结构
B. 紧凑结构和非紧凑结构
C. 内部结构和外部结构
D. 线性结构和非线性结构
5、计算算法的时间复杂度是属于一种()。
A. 事前统计的方法
B. 事前分析估算的方法
C. 事后统计的方法
D. 事后分析估算的方法
6、可以用()定义一个完整的数据结构:
A. 数据元素
B. 数据对象
C. 数据关系
D. 抽象数据类型
7、算法分析的目的是_______。
A. 找出数据结构的合理性
B. 研究算法中的输入和输出的关系
C. 分析算法的效率以求改进
D. 分析算法的易懂性和文档性
8、设计一个“好”的算法应考虑达到的目标有______。
A. 是可行的
B. 是健壮的
C. 无二义性
D. 可读性好
线性表
1、线性表是具有n个()的有限序列(n>0)。
A.表元素
B.字符
C.数据元素
D.数据项
2、若线性表最常用的操作是存取第I个元素及其前驱和后继元素的值,为节省时间应采用的存储方式()。
A.单链表
B.双向链表
C.单循环链表
D.顺序表
3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
A. 单链表
B. 仅有头指针的单循环链表
C. 双链表
D. 仅有尾指针的单循环链表
4、设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用()最节省时间。
A. 带头结点的双循环链表
B. 单循环链表
C. 带尾指针的单循环链表
D. 单链表
5、静态链表中指针表示的是()
A.下一元素的地址
B. 内存储器的地址
C.下一元素在数组中的位置
D. 左链或右链指向的元素的地址
6、下述哪一条是顺序存储结构的优点?()
A.插入运算方便
B.可方便地用于各种逻辑结构的存储表示
C.存储密度大
D.删除运算方便
7、下面关于线性表的叙述中,错误的是哪一个?()
A.线性表采用顺序存储,必须占用一片连续的存储单元
B.线性表采用顺序存储,便于进行插入和删除操作
C.线性表采用链接存储,不必占用一片连续的存储单元
D.线性表采用链接存储,便于插入和删除操作。
在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素,称作线性表的顺序存储结构.
顺序存储结构的主要优点是节省存储空间,可实现对结点的随机存取,即每一个结点对应一个序号,由该序号可以直接计算出来结点的存储地址。但顺序存储方法的主要缺点是不便于修改,对结点的插入、删除运算时,可能要移动一系列的结点。
在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)叫链式存储结构.又叫链接存储结构。
它不要求逻辑上相邻的元素在物理位置上也相邻.因此它没有顺序存储结构所具有的弱点,但也同时失去了顺序表可随机存取的优点.
链式存储结构特点:
1、比顺序存储结构的存储密度小 (每个节点都由数据域和指针域组成,所以相同空间内假设全存满的话顺序比链式存储更多)。
2、逻辑上相邻的节点物理上不必相邻。
3、插入、删除灵活 (不必移动节点,只要改变节点中的指针)。
4、查找结点时链式存储要比顺序存储慢。
5、每个结点是由数据域和指针域组成。
8、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
A.顺序表
B.双链表
C.带头结点的双循环链表
D.单循环链表
9、链表不具有的特点是()
A.插入、删除不需要移动元素
B.可随机访问任一元素
C.不必事先估计存储空间
D.所需空间与线性长度成正比
10、(1) 静态链表既有顺序存储的优点,又有动态链表的优点。所以,它存取表中第i个元素的时间与i无关。
(2) 静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。
(3) 静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
以上错误的是()
A.(1), (2)
B.(1)
C.(1),(2), (3)
D.(2)
11、单链表中,增加一个头结点的目的是为了( )。
A.使单链表至少有一个结点
B.标识表结点中首结点的位置
C.方便运算的实现
D.说明单链表是线性表的链式存储
12、对于双向循环链表,在p指针所指的结点之后插入s指针所指结点的操作应为()。A. p->right=s ; s->left=p;
p->right->left=s ; s->right=p->right;
B. p->right=s ; p->right->left=s ;
s->left=p; s->right=p->right;
C. s->left=p; s->right=p->right;
p->right=s ; p->right->left=s ; ;
D. s->left=p; s->right=p->right;
p->right->left=s ; p->right=s ;