问题 单项选择题

若在单向链表上,除访问链表中所有节点外,还需在表尾频繁插入节点,那么采用()最节省时间。

A.仅设尾指针的单向链表

B.仅设头指针的单向链表

C.仪设尾指针的单向循环链表

D.仅设头指针的单向循环链表

答案

参考答案:C

解析:单向链表仅设头指针时,在表尾插入节点时需要遍历整个链表,时间复杂度为0(n),仅设尾指针时,在表尾插入节点的时间复杂度为0(1),但是不能访问除了尾节点之外的所有其他节点。单向循环链表仅设头指针时,在表尾插入节点时需要遍历整个链表,时间复杂度为0(n),仅设尾指针时,在表尾插入节点的时间复杂度为0(1),同时达到表头节点的时间复杂度为0(1),因此对于题中给出的操作要求,适合采用仅设尾指针的单向循环链表。

填空题
多项选择题