数据结构与算法-Chapter2-线性表-练习题

选择题

1.线性表的的顺序存储结构是一种( )的存储结构,线性表的链式存储结构是一种( )的存储结构。
A·随机存取 B.顺序存取 C.索引存取 D.散列存取

2.在以下的叙述中,正确的是( )。
A. 线性表的顺序存储结构优于链表存储结构
B.二维数组是其数据元素为线性表的线性表
C.栈的操作方式是先进先出
D. 队列的操作方式是先进后出

3.不带头结点的单链表head为空的判定条件是( )。
A. head == NULL B.head->next == NULL C.head->next==head D.head!=NULL

4.带头结点的单键表head为空的判定条件是( )。
A. head == NULL B.head->next == NULL C.head->next==head D.head!=NULL

5.非空的循环单链表head的尾结点(由p所指向)满足( )。
A. p->next == NULL B.p == NULL C.p->next == head D. p==head

6.在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行( )。
A. s->next=p->next;p->next=s; B. p->next=s->next;s->next=p;
C. q->next=s;s->next=p; D. p->next=s;s->next=q;

7.在单链表中,若p所指结点不是最后结点,在p之后插入S所指结点,则执行( )。
A. S->next=P;P->next=s; B.s->next=p->next;p->next=s;
C.s->next=p->next;p=s; D. p->next=s;s->next=p;

8.在一个单链表中,若删除P所指结点的后继结点,则执行( )。
A. p->next=p->next->next; B. p=p->next;p->next=p->next->next;
C.p->next=p->next; D. p=p->next->next

9.从一个具有n个结点的单链表中查找其值等于x结点时,在查找成功的情况下,需平均比较( )个结点。
A. n B.n/2 C.(n-l)/2 D.(n十1)/2

10.在具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是( )。
A. O(l) B.O(n) C.O(n2) D.O(nlog2n)

11.用单链表方式存储的线性表,每个结点需要两个域,一个是数据域,另一个是()。
A当前结点所在地址域 B.指针域 C.空指针域 D.空闲域

12.在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度都是O(n)。
A.遍历链表和求链表的第i个结点 B.在地址为P的结点之后插入一个结点
C.删除开始结点 D.删除地址为p的结点的后继结点

13.单链表的存储密度()。
A.大于1 B.等于1 C.小于1 D.不能确定

14.已知一个顺序存储的线性表,设每个结点需占m个存储单元,若第一个结点的地址为dal,则第i个结点的地址为()。
A. dal+(i- l)* m B.dal+i * m C. dal-i * m D. da1+(i+ 1)* m

填空题

1.在线性结构中,第一个结点(无)前驱结点,其余每个结点有且只有(1)个前驱结点;最后一个结点(无)后续结点,其余每个结点有且只有(1)个后续结点。

2.单链表是(线性表)的链式存储表示。

3.若数组第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是(108)。

4.在一个长度为n的线性表的第i个元素(1<=i<=n+1)之前插入一个元素时,需向后移动(n+1-i)个元素。

5.在长度为n的线性表中删除第i个元素(1≤i≤n)时,需向前移动(n-i)个元素。

6.在双向链表中,每个结点有两个指针域,一个指向(直接前驱),另一个指向(直接后继)。

7.在一个单链表中p所指结点之后插入一个s所指结点时,应执行s->next=( p->next )和p->next=( s )的操作。

8.对于一个具有n个结点的单链表,在已知P所指结点后插入一个新结点的时间复杂度是(O(1) );在给定值为X的结点后插入一个新结点的时间复杂度是( O(n) )。

9.顺序表相对于链表的优点有(可以随机存取,存储密度高)。

10.链表相对于顺序表的优点有(不需要连续的存储空间,插入和删除时不需要移动元素 )。

11.在n个结点的顺序表中插入和删除一个结点需平均移动大约( n/2 )个结点。

12.线性表的链式存储有三种,分别是(单链表 )(双向链表)( 循环链表)。用数组描述的线性链表称为(静态链表).

13.在顺序表中访问任意一结点的时间复杂度均为(O(1)),因此,顺序表也称为
( 随机存取 )的数据结构。

14.在n个结点的单链表中要删除已知结点*p,需找到( 该结点的前驱 ),其时间复杂度为( O(n) )。

15.在循环链表中,可根据任一结点的地址遍历整个链表,而单链表中需知道( 头指针 )才能遍历整个链表。所以,整个单链表是由( 头指针)来作为唯一标识的。

发布了387 篇原创文章 · 获赞 646 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_43896318/article/details/104092643
今日推荐