数据结构笔记2线性表
前言
做一下数据结构笔记。
思维框架图
文章目录
线性表的类型定义
线性表的顺序表示和实现
线性表的链式表示和实现
题目
选择题
-
下面关于线性表的叙述中,错误的是( )?
A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
-
在一个长度为n的顺序表中,在第i(0<i<=n+1)个元素之前插入一个元素时,需向后移动( )个元素。
A. n-i B. n-i+1 C. n-i-1 D. i
-
若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。
A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表
- 设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
A. 单链表 B.单循环链表 C. 带尾指针的单循环链表 D.带头结点的双循环链表
- 链表不具有的特点是( )
A.插入、删除不需要移动元素 B.可随机访问任一元素
C.不必事先估计存储空间 D.所需空间与线性长度成正比
- 线性表( a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为( )
O(i) B.O(1) C.O(n) D.O(i-1)
- 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( )(1<=i<=n+1)。
A. O(0) B. O(1) C. O(n) D. O(n2)
- 在一个单循环链表(长度为n)中,已知p指针指向链表中一个非空结点,现要删除链表中p指针所指结点,其时间复杂度为( )。
A. O( n ) B. O( 1 ) C. O( n2) D. 不确定
- 对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为( )。
A.O(n) O(n) B. O(n) O(1) C. O(1) O(n) D. O(1) O(1)
- 非空的循环链表head的尾结点p↑满足( )
A.p->next=head B.P->next=NULL
C.p=NULL D.p= head
- 带头结点的循环链表L为空的条件是( )。
A. L == NULL B. L->next ==NULL
C. L->next == L D. L->next == L->next
- 在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:( )
A.p->next=s;s->next=p->next;
B.s->next=p->next;p->next=s;
C.p->next=s;p->next=s->next;
D.p->next=s->next;p->next=s;
- 在双向链表指针p的结点前插入一个指针q的结点操作是( )。
A. p->Llink=q;q->Rlink=p;p->Llink->Rlink=q;q->Llink=q;
B. p->Llink=q;p->Llink->Rlink=q;q->Rlink=p;q->Llink=p->Llink;
C. q->Rlink=p;q->Llink=p->Llink;p->Llink->Rlink=q;p->Llink=q;
D. q->Llink=p->Llink;q->Rlink=q;p->Llink=q;p->Llink=q;
3.B 4.B 5.A 6.D 7.B 8.C 9.C 10.A
11.C 12.A 13.C 14.B 15.C
判断题
( )顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( )顺序存储方式插入和删除时效率太低,在这方面它不如链式存储方式好 。
( )顺序存储结构的主要缺点是不利于插入或删除操作。
( )对任何数据结构链式存储结构一定优于顺序存储结构。
( )取线性表的第i个元素的时间同i的大小有关。
( )线性表、栈和队列都是线性结构。
( )链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序存储结构中效率高。
( )线性表中每一个元素均存在唯一一个前驱和唯一一个后继。
( )循环链表不是线性表。
( )线性表的长度是线性表所占用的存储空间的大小。
( )在单链表表示的线性表中,取线性表第i个元素操作的时间复杂度为O(1)。
( )删除带头结点单链表的第一个元素结点的时间复杂度是O(1)。
X X √ √
X X √ √ X X X X √
简答题
顺序表的插入
两个单链表的合并
删除单链表中大于max和小于min的数
实现顺序表的就地转置
思绪
线性表的考试重点就是顺序表和单链表的特点以及顺序表和单链表的增删改查。
更新地址:GitHub