合并双链表上的排序

时间:2015-05-23 04:31:45

标签: sorting linked-list language-agnostic mergesort

阅读排序链表的好方法(除了分配数组和快速排序),看起来mergesort是更好的方法之一。

请参阅:Merge Sort a Linked List

关于这个主题的当前问题是非特定的,因为天气列表是单链接或双链接。

我的问题是:

是否有利用双链表的改进合并排序方法?

(或者使用与单个链接列表相同的方法并仅指定previous链接以确保列表仍然有效)

1 个答案:

答案 0 :(得分:1)

据我所知,在双链表上进行mergesort时,没有特殊的节省时间的技巧,这些技巧也不适用于单链表。

Mergesort最初是为存储在磁带卷上的数据而开发的,只能向前读取,而mergesort的大多数标准实现只能在元素上进行转发。 mergesort所需的两个主要操作是将输入分成两半(在单链和双链表中都很难)并将元素合并在一起(在两种情况下基本相同)。因此,如果不做一些比标准合并更聪明的事情,我不会指望有任何重大的加速。