logo - 刷刷题
下载APP
【单选题】

编写高效算法,找出链表的中间结点。以下哪个算法更高效( )。

A.
采用快慢指针方法。即:第一步:一个指针走的快,每次走2个结点;一个指针走的慢,每次走1个结点。第二步:当快指针到结尾或空时,慢指针所指结点即为中间结点。注:遇到链表结点为奇数或偶数时,需稍加改进即可。
B.
第一步:遍历一遍链表,求出其长度n。第二步:再从头开始遍历链表,到n/2处即可。若n为偶数,中间结点则有2个;若n为奇数,则只有1个。需稍加处理。
C.
第一步:将链表中的结点依次放入一个数组中,同时记录结点个数;第二步:数组中间位置即为中间结点。
D.
无法实现
举报
参考答案:
参考解析:
.
刷刷题刷刷变学霸
举一反三

【单选题】在n个结点的线性表的数组实现中,算法的时间复杂度是O(1)的操作是 。

A.
访问第i(1<=i<=n)个结点和求第i个结点的直接前驱(1
B.
在第i(1<=i<=n)个结点后插入一个新结点< span="">
C.
删除第i(1<=i<=n)个结点< span="">
D.
以上都不对

【单选题】算法的空间复杂度是指( )。

A.
算法程序的长度
B.
算法程序中的指令条数
C.
算法程序所占的存储空间
D.
算法执行过程中所需要的存储空间

【单选题】链表不具有如下特点( )。

A.
为了存储线性表中的每一个元素,一方面要存储数据元素的值,另一方面要存储个数据元素之间的前后件关系
B.
存储空间中的每一个存储结点分为两部分;数据域和指针域
C.
一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的
D.
各结点在存储空间中的位置关系与逻辑关系是一致的

【单选题】下列关于线性链表的叙述中,正确的是( )。

A.
各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B.
各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C.
进行插入与删除时,不需要移动表中的元素
D.
以上三种说法都不对

【单选题】带头结点的单链表head为空的条件是( )

A.
head=null
B.
head->next=null
C.
head->next=head
D.
head!=null

【单选题】下列叙述中正确的是( )。【考点5链表】

A.
栈是“先进先出”的线性表
B.
队列是“先进后出”的线性表
C.
循环队列是非线性结构
D.
有序线性表既可以采用顺序存储结构,也可以采用链式存储结构