pta第二章题

头指针是指向链表中第一个结点的指针,对单链表的所有操作均需从头指针开始。链表中的第一个结点可以是头结点,也可以是首结点。
首结点是链表中存储第一个数据元素的结点。
头结点是在首结点之前附设的一个结点,该结点不存储数据元素,其指针域指向首结点。
头结点的作用是为了方便对链表的操作。保证链表中每个元素都有一个前驱。如果没有头结点,在表头插入一个元素和在表的其他地方插入一个元素的方法是不同的。由于起始结点没有直接前驱,所以在表头插入一个结点是需要将该结点的后继指针指向原来的表头,并将新插入的结点设为表头。而在其他地方插入一个结点时,不但要与直接后继相连,还要与直接前驱相连。删除操作也是如此。在设置了头结点后,表头元素也有了直接前驱,就是头结点。这样,在插入和删除操作时不再有插入或删除起始结点的特殊情况。只需要一个额外的结点就使代码大大简化而不再需要检测特殊情况,减少测试量就是节约时间,因而时间性能也得到了提高。

1.对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。

2.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用顺序表存储最节省时间。
√,在最后增删
3.在具有N个结点的单链表中,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。
×,在数组中是对的,但这是单项链表,不能直接通过下标访问元素,无法进行二分查找
4.将N个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)
×
5.对于顺序存储的长度为N的线性表,删除第一个元素和插入最后一个元素的时间复杂度分别对应为O(1)和O(N)。
×
6.若用链表来表示一个线性表,则表中元素的地址一定是连续的。
×

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

    A.必须是连续的
    B.连续或不连续都可以
    C.部分地址必须是连续的
    D.一定是不连续的

B

2.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用什么存储方式最节省运算时间?
(2分)

       A.单链表
       B.仅有尾指针的单循环链表
       C.仅有头指针的单循环链表
       D.双链表

A
3.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用哪种存储方式最节省运算时间?
(2分)

      A.单链表
       B.双链表
        C.单循环链表
        D.带头结点的双循环链表

猜你喜欢

转载自blog.csdn.net/weixin_46064382/article/details/109270164