问答题

设有带头结点的循环双链表表示的线性表L===(a 1 ,a 2 ,……,a n-1 ,a n )。设计在时间和空间上都尽可能高效的算法,将L改造成L=(a 1 ,a 3 ,……,a n ……a 4 ,a 2 )。要求: (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C++或JAVA语言描述算法,关键之处给出注释。 (3)说明你所设计算法的时间复杂度和空间复杂度。

【参考答案】

正确答案:(1)算法的基本设计思想如分析所述。 (2)用C语言算法描述如下: void split(DLinkList ......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)