【每天一道编程系列-2018.2.6】(Ans)
2018-02-06 23:16
411 查看
【题目描述】
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
【题目翻译】
给定k个有序链表,将其合并为一个有序的链表,并分析复杂度。
【解题思路】
利用分治的思想把合并k个链表分成两个合并k/2个链表的任务,一直划分,直到任务中只剩一个链表或者两个链表。
假设每个链表的平均长度为n,则T(k,n) = 2T(k/2,n) + O(nk),很简单可以推导得到算法复杂度为O(nklogk)。
【本题答案】
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
【题目翻译】
给定k个有序链表,将其合并为一个有序的链表,并分析复杂度。
【解题思路】
利用分治的思想把合并k个链表分成两个合并k/2个链表的任务,一直划分,直到任务中只剩一个链表或者两个链表。
假设每个链表的平均长度为n,则T(k,n) = 2T(k/2,n) + O(nk),很简单可以推导得到算法复杂度为O(nklogk)。
【本题答案】
相关文章推荐
- 【每天一道编程系列-2018.2.2】(Ans)
- 【每天一道编程系列-2018.1.29】(Ans)
- 【每天一道编程系列-2018.2.11】(Ans)[补]
- 【每天一道编程系列-2018.2.19】(Ans)
- 【每天一道编程系列-2018.2.8】(Ans)
- 【每天一道编程系列-2018.2.12】(Ans)
- 【每天一道编程系列-2018.3.5】(Ans)
- 【每天一道编程系列-2018.3.7】(Ans)
- 【每天一道编程系列-2018.3.6】(Ans)
- 【每天一道编程系列-2018.1.31】(Ans)
- 【每天一道编程系列-2018.2.10】(Ans)
- 【每天一道编程系列-2018.2.27】(Ans)
- 【每天一道编程系列-2018.3.2】(Ans)
- 【每天一道编程系列-2018.2.1】(Ans)
- 【每天一道编程系列-2018.2.5】(Ans)
- 【每天一道编程系列-2018.2.9】(Ans)
- 【每天一道编程系列-2018.2.22】(Ans)
- 【每天一道编程系列-2018.2.16】(Ans)
- 【每天一道编程系列-2018.2.18】(Ans)
- 【每天一道编程系列-2018.2.21】(Ans)