大连东软数据结构题库全2.pdf
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
针。
C.所有数据通过指针的链接而组织成单链表。
D.NULL 称为空指针,它不指向任何结点只起标志作用。
6① 以下说法正确的是(D )。
A.顺序存储方式的优点是存储密度大且插入、删除运算效率高
B.链表的每个结点中都恰好包含一个指针
C.线性表的顺序存储结构优于链式存储结构
D.顺序存储结构属于静态结构而链式结构属于动态结构
C.一定是不连续的
D.连续或不连续都可以
4① 线性表L在( B )情况下适用于使用链式结构实现。
A.需经常修改L中的结点值
B.需不断对L进行删除插入
C.L中含有大量的结点
D.L中结点结构复杂
5① 对单链表表示法,以下说法错误的是(C )。
A.数据域用于存储线性表的一个数据元素。
B.指针域(或链域)用于存放一个指向本结点所含数据元素的直接后继所在结点的指
岛大学 2000】
A.O(n) O(n)
B.O(n) O(1)
C.O(1) O(n)
D.O(1) O(1)
二、填空题
1① 线性表的顺序存储的缺点是在任意位置上___插入_____数据与____删除_____数据
费时间。
2① 设 一 线 性 表 的 顺 序 存 储 , 总 存 储 容 量 为 M , 其 元 素 存 储 位 置 的 范 围 为
7① 以下说法错误的是(D )。
A.求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储结构
时实现的效率低
B.顺序存储的线性表可以随机存取
C.由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活
D.线性表的链式存储结构优于顺序存储结构
8① 不带头结点的单链表 head 为空的判定条件是( A )。
( D )存储方式最节省时间。
A.单链表
B.双链表
C.单向循环
D.顺序表
3② 一个数组第一个元素的存储地址是 100,每个元素的长度为 2,则第 5 个元素的地
址是( B )
A.110
B.108
C.100
D.120
4① 下述哪一条是顺序存储结构的优点( A )。【北方交通大学 2001】
A.存储密度大
( F )2① 线性表中的每个结点都至少有一个前驱结点和后继结点。
( F )3① 线性表是 N 个数的有限序列。
( F)4① 同一线性表的数据元素可以具有不同的特性。
( T )5① 线性表的长度 n 就是表中数据元素的个数,当 n=0 时,称为空表。
( T )6① 线性表是一个相当灵活的数据结构,它的长度可根据需要增长或缩短。
四、编程题
1④ 已知顺序表 La 中数据元素按非递减有序排列。试写一个算法,将 x 插入到 La 的
合适位置上,保持该表的有序性。
2.7.3 知识点:线性表的链式存储结构
一、选择题 1① 链表是一种采用( B )存储结构存储的线性表。
A.顺序
B.链式
C.星式
D.网状
2① 链接存储的存储结构所占存储空间( A )。
A.head= =NULL
B.head->next= =NULL
C.head->next= =head
D.head!=NULL
9① 带头结点的单链表 head 为空的判定条件是( B )。
A.head= =NUΒιβλιοθήκη BaiduL
B.head->next= =NULL
C.head->next= =head
D.head!=NULL
2① 在线性表的下列运算中,不改变数据元素之间结构关系的运算是( D )。
A.插入
B.删除
C.排序
D.定位
3① 线性表是具有n 个(C )的有限序列(n>0)。【清华大学 1998】
A.表元素 B.字符
C.数据元素 D.数据项 E.信息项
二、判断题
( T )1① 线性表中的每个结点最多只有一个前驱和一个后继。
A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针。
B.只有一部分,存放结点值。
C.只有一部分,存储表示结点间关系的指针。
D.分两部分,一部分存放结点值,另一部分存放结点所占单元数。
3① 线性表若采用链式存储结构时,要求内存中可用存储单元的地址( D )。
A.必须是连续的
B.部分地址必须是连续的
B.插入运算方便
C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示 5③ 若长度为 n 的线性表采用顺序存储结构,在其第 i 个位置插入一个新元素的算法 的时间复杂度为( C )(1<=i<=n+1)。【北京航空航天大学 1999】
A.O(0)
B.O(1)
C.O(n)
D.O(n 2 )
6③ 对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为( C )。【青
if(L->data[i]>=0){
if(i!=j)L->data[j]=L->data[i];
j++;
}
L->length=j;
}
(1)设线性表 L=(21,-7,-8,19,0,-11,34,30,-10),写出执行 f30(&L)后
的 L 状态;(21,19,0,34,30)
(2)简述算法 f30 的功能。删除顺序表中小于 0 的元素
( F )7① 对线性表中的数据元素只能进行访问,不能进行插入和删除操作。
2.7.2 知识点:线性表的顺序存储结构
一、选择题 1① 在一个长度为 n 的顺序表中,在第 i 个元素(1 <= i <=n+1)之前插入一个新元素
时需向后移动( B )个元素.
A.n-1
B.n-i+1
C.n-i-1
D.i
2① 若某线性表中最常用的操作是取第 i 个元素和找第 i 个元素的前趋元素,则采用
2.7 习题
2.7.1 知识点:线性表的逻辑结构
一、选择题
1① 线性表 L=(a 1 , a 2 ,…,a n ),下列说法正确的是 (D )。
A.每个元素都有一个直接前驱和一个直接后继。
B.线性表中至少要有一个元素。
C.表中诸元素的排列顺序必须是由小到大或由大到小。
D.除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继。
__0~M-1__________。
3① 向一个长度为 n 的向量中删除第 i 个元素(1≤i≤n)时,需向前移动____n-i______
个元素。
三、简答题
1③ 已知线性表的存储结构为顺序表,阅读下列算法,并回答问题:
void f30 (SeqList *L) {
int i,j;
for (i=j=0;i<L->length; i++)
10② 在头指针为 head 的非空单循环链表中,指针 p 指向尾结点,下列关系成立的是