我正试图解决一个问题,以有效地将2个未排序的链表合并为一个排序的链表。我有一些想法。
- 简单地合并两个链表,然后排序(合并排序或快速排序)
- 分别排序并合并两者遵循此概念。
如何将两个排序数组合并为一个排序数组?
这些是我能想到的所有算法。还有人有更好更有效的方法来解决这个问题吗?
您应该将两个列表串接成一个列表并对该列表进行排序。
这比首先对它们排序更直接,代码更少,并且花费的时间与第二种选择相同。
首先将两个列表合并成一个链表,然后对这个链表进行排序。
另一种方法是使用BST。在BST中添加list 1元素,然后在BST中添加list 2元素。然后对BST进行序遍历,并将元素放入列表3中进行排序。
O (nlogn)