将2个未排序的链接列表合并到一个已排序的链接列表

时间:2014-07-27 01:17:46

标签: sorting merge linked-list

我正在尝试解决问题,以便将2个未排序的链接列表有效地合并到一个已排序的链接列表中。我有一些想法。

  1. 只需合并2个链接列表,然后合并排序(mergesort或quicksort)
  2. 单独排序并合并两者遵循此概念。
  3. How to merge two sorted arrays into a sorted array?

    这些是我能想到的所有算法。还有其他人有更好,更有效的方法来解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

您应该将两个列表安排到一个列表中并对该列表进行排序。

这比首先对它们进行排序更直接,代码更少,并且将花费与第二个选项相同的时间。

答案 1 :(得分:1)

首先合并两个列表以形成单个链表,然后对此单个列表进行排序。

答案 2 :(得分:1)

另一种方法是使用BST。将列表1元素添加到BST中,然后在BST中添加列表2元素。然后使用BST的inorder遍历并将元素放入将被排序的列表3中。

O(nlogn)