算法第四章实践

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.心得体会

这道题不算太难,很容易得出解题思路,只要注意一下细节便可写出。这次出现了段错误的错误,然后发现了自己打代码的一个不好的习惯,以后会更加注意。

posted @ 2018-11-29 20:52  calibun  阅读(111)  评论(0编辑  收藏  举报