算法第四章上机实验报告
Posted yanjingyin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法第四章上机实验报告相关的知识,希望对你有一定的参考价值。
-
实践题目
7-1 最优合并问题
-
问题描述
给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。 假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设 计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。 为了进行比较,还需要确定合并这个序列的最差合并顺序,使所需的总比较次数最多。
3.算法描述
要获得最小比较次数,则每次都取最小序列合并;要获得最多比较次数,则每次取最大序列合并。
while(min_mark<k-1) { min_sum= min_sum+a[min_mark]+a[min_mark+1]-1; a[min_mark]=a[min_mark]+a[min_mark+1]; a[min_mark+1]=0; min_mark++; sort(a,a+k); }
for(int hh=1;hh<=k-1;hh++) { max_sum=max_sum+b[k-1]+b[k-2]-1; b[k-1]=b[k-1]+b[k-2]; b[k-2]=0; sort(b,b+k); }
4.算法时间及空间复杂度分析(要有分析过程)
时间复杂度:排序O(nlogn)合并(n-1)(2*O(1)+O(n))=O(n^2)
空间复杂度:数组存储O( n)
5.心得体会(对本次实践收获及疑惑进行总结)
在实践过程中,贪心算法的使用过程中,最重要要决定贪心选择的方法,才能得到整体的最优解
以上是关于算法第四章上机实验报告的主要内容,如果未能解决你的问题,请参考以下文章