【数据结构】——期末复习题题库(3)

简介: 【数据结构】——期末复习题题库(3)

🎯问题:

16. (单选题)若线性表最常用的操作是存取第i个元素及其前驱的值,则采用(         )存储方式节省时间。

A. 双向链表

B. 顺序表

C. 单链表

D. 单循环链表

17. (单选题)已知线性表L=(a1,a2,…,ai,…,an),下列说法正确的是(        )。

A. 每个元素都有一个直接前驱和直接后继

B. 线性表中至少要有一个元素

C. 除第一个元素和最后一个元素外,其余每个元素都有一个数,且仅有一个直接前驱和直接后继

D. 表中诸元素的排列顺序必须是由小到大或由大到小的

18. (单选题)线性表若采用链式存储结构时,要求内存中可用存储单元的地址

A. 连续或不连续都可以

B. 必须是连续的

C. 一定是不连续的

D. 部分地址必须是连续的

19. (单选题)线性表是(      )。

A. 一个有限序列,可以为空

B. 一个有限序列,不能为空

C. 一个无限序列,不能为空

D. 一个无限序列,可以为空

20. (单选题)在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时须向后移动( )个元素

A. n-i-1

B. n-i+1

C. n-i

D. I

21. (单选题)以下说法错误的是(     )。

A. 顺序存储的线性表可以随机存取

B. 由于顺序存储要求连续存储区域,所以在存储管理上不够灵活

C. 线性表的链式存储结构优于顺序存储结构

D. 求表长、定位这两种运算,在采用顺序存储结构时实现的效率,比采用链式存储结构时实现的效率低

22. (单选题)以下说法正确的是(    )。

A. 线性表的各种基本运算在顺序存储结构上的实现均比在链式存储结构上的实现效率要低

B. 线性结构的基本特征是:每个结点有且仅有一个直接前驱和一个直接后继

C. 在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该元素位置有关

D. 顺序存储的线性表的插入和删除操作不需要付出很大的代价,因此平均操作只有近一半的元素需要移动

23. (单选题)在一个具有n个结点的有序单链表L中,设有尾指针r,则与链表的长度有关的操作是(        )。

A. 删除链表中的第一个元素

B. 删除链表中的最后一个元素

C. 在单链表第一个元素前插入一个新元素

D. 在单链表最后一个元素后插入一个新元素

24. (单选题)将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是

A. 2n-1

B. 2n

C. n-1

D. n

25. (分录题)已知L是带表头的单链表,其P结点既不是首元结点,也不是尾元结点:

a.删除p结点的直接后继的语句是(   )


b.删除p结点的直接前驱的语句是(   )


c.删除p结点的语句序列是(   )


d.删除首元结点的语句序列是(   )


e.删除尾元结点的语句序列是(   )


注意:再输入语句序列时中间以逗号分隔,请勿加入多余的空格!


1.p=p->next;        


2.p->next=p;        


3.p->next=p->next->next;


4.p=p->next->next;          


5.while(p) p=p->next;


6.whlie(Q->next){p=Q;Q=Q->next;}


7.while(p->next!=Q)         p=p->next;


8.while(p->next->next!=Q)    p=p->next;


9.while(p->next->next)     p=p->next;


10.Q=p;          


11.Q=p->next;    


12.p=L;


13.L=L->next;    


14.delete Q;


🎯答案:

15-20:BCAAB


21-24:CCBD


25:


(1) 11,3,14;11,3,14


(2) 10,12,8,11,3,14;10,12,8,11,3,14


(3) 10,12,7,3,14;10,12,7,3,14


(4) 12,11,3,14;12,11,3,14


(5) 9,11,3,14;9,11,3,14


相关文章
|
4月前
|
存储 机器学习/深度学习 NoSQL
【数据结构】——期末复习题题库(8)
【数据结构】——期末复习题题库(8)
【数据结构】——期末复习题题库(8)
|
4月前
|
机器学习/深度学习 存储
【数据结构】——期末复习题题库(7)
【数据结构】——期末复习题题库(7)
【数据结构】——期末复习题题库(7)
|
4月前
|
存储 算法 索引
【数据结构】——期末复习题题库(10)
【数据结构】——期末复习题题库(10)
|
4月前
|
搜索推荐
【数据结构】——期末复习题题库(11)
【数据结构】——期末复习题题库(11)
【数据结构】——期末复习题题库(11)
|
4月前
|
机器学习/深度学习 算法
【数据结构】——期末复习题题库(9)
【数据结构】——期末复习题题库(9)
【数据结构】——期末复习题题库(9)
|
4月前
|
存储 算法 搜索推荐
数据结构期末复习(fengkao课堂)
数据结构期末复习(fengkao课堂)
231 0
|
4月前
|
存储 算法 调度
数据结构期末复习(3)栈和队列
数据结构期末复习(3)栈和队列
44 0
|
8天前
|
存储 人工智能 C语言
数据结构基础详解(C语言): 栈的括号匹配(实战)与栈的表达式求值&&特殊矩阵的压缩存储
本文首先介绍了栈的应用之一——括号匹配,利用栈的特性实现左右括号的匹配检测。接着详细描述了南京理工大学的一道编程题,要求判断输入字符串中的括号是否正确匹配,并给出了完整的代码示例。此外,还探讨了栈在表达式求值中的应用,包括中缀、后缀和前缀表达式的转换与计算方法。最后,文章介绍了矩阵的压缩存储技术,涵盖对称矩阵、三角矩阵及稀疏矩阵的不同压缩存储策略,提高存储效率。
|
10天前
|
存储 C语言
数据结构基础详解(C语言): 栈与队列的详解附完整代码
栈是一种仅允许在一端进行插入和删除操作的线性表,常用于解决括号匹配、函数调用等问题。栈分为顺序栈和链栈,顺序栈使用数组存储,链栈基于单链表实现。栈的主要操作包括初始化、销毁、入栈、出栈等。栈的应用广泛,如表达式求值、递归等场景。栈的顺序存储结构由数组和栈顶指针构成,链栈则基于单链表的头插法实现。
|
11天前
|
Java
【数据结构】栈和队列的深度探索,从实现到应用详解
本文介绍了栈和队列这两种数据结构。栈是一种后进先出(LIFO)的数据结构,元素只能从栈顶进行插入和删除。栈的基本操作包括压栈、出栈、获取栈顶元素、判断是否为空及获取栈的大小。栈可以通过数组或链表实现,并可用于将递归转化为循环。队列则是一种先进先出(FIFO)的数据结构,元素只能从队尾插入,从队首移除。队列的基本操作包括入队、出队、获取队首元素、判断是否为空及获取队列大小。队列可通过双向链表或数组实现。此外,双端队列(Deque)支持两端插入和删除元素,提供了更丰富的操作。
14 0
【数据结构】栈和队列的深度探索,从实现到应用详解