算法第四章实践
1.实践题目
7-1最优合并问题
2.问题描述
给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还需要确定合并这个序列的最差合并顺序,使所需的总比较次数最多。
3.算法描述
先用sort排序,每次取2个最小(或最大)的数相加赋值给b[0],后面的数依次前移,k--,循环直到k<=1。
4.算法时间及空间复杂度分析
都是O(n)。
5.心得体会
这道题不算太难,很容易得出解题思路,只要注意一下细节便可写出。这次出现了段错误的错误,然后发现了自己打代码的一个不好的习惯,以后会更加注意。