list合并优化算法
如题,求助多个有序std::list 合并成一个 有序list 的高效算法,老手来帮下忙。
[解决办法]
两种算法,都是O(nlogk)
1.对多个list两两合并,重复这个过程
2.建一个大小是list个数的最小堆,每次取最小的,然后从同一个list补充新的元素。
[解决办法]
用归并,不过从两个序列变多个而已
[解决办法]
将多个list的数据暂存到一个set 当中,再转给 结果list
PS:将会剔除重复元素
[解决办法]
std::list 的 merge算法。
c1.merge(c2)
两两合并
每个list的里面的有序元素有什么特点没,想不出优化的方法。