堆
题意:
k个有序序列,要返回合并后的序列.
序列的形式用链表表示.
思路:
堆的教学题.堆是支持O(logn)插入,O(logn)删除最值,O(1)获取最值的数据结构.
把k个有序序列的头放到堆里,然后不断取堆顶,这样取得的肯定是当前所有序列的最小值.
取了堆顶之后,把堆顶所在序列的下一个元素放到堆里.
要注意判断一下指针是不是空.
总结:
用堆实现.
堆
k个有序序列,要返回合并后的序列.
序列的形式用链表表示.
堆的教学题.堆是支持O(logn)插入,O(logn)删除最值,O(1)获取最值的数据结构.
把k个有序序列的头放到堆里,然后不断取堆顶,这样取得的肯定是当前所有序列的最小值.
取了堆顶之后,把堆顶所在序列的下一个元素放到堆里.
要注意判断一下指针是不是空.
用堆实现.