算法第四章上机实践报告

时间:2019-11-18
本文章向大家介绍算法第四章上机实践报告,主要包括算法第四章上机实践报告使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

算法第四章上机实践报告

一、程序存储问题

1、实践题目及问题描述

2、算法描述

  这道题要求在一定的磁带长度中存取最多的数目,由于每个程序长度之间并没有联系,所以先直接对程序的长度进行排序,然后从小到大进行将程序长度相加并与给定的磁带长度进行比较得到结果。

  

  实践代码

  

#include <iostream>
#include <algorithm>
using namespace std;

int num[10005];

int main() {
	int n = 0 , k = 0;
	cin >> n >> k;

	for (int i = 1 ; i <= n ; i ++ ) {
		cin >> num[i];
	}
	
	sort(num + 1 , num + n + 1 );
	
	int sum = 0 , j = 0 ;
	
	for (int i = 1 ; i <= n ; i ++ ) {
		sum += num[i];
		if ( sum > k ) {
			j = i - 1 ;
			break;
		}
		j = i;
	}
	cout << j;

	return 0;
}

  

3、心得体会算法时间及空间复杂度分析

算法时间复杂度为O(nlogn),因为调用了sort函数进行排序。

4、心得体会

  虽然说贪心算法是一种特殊的动态规划,贪心算法可以通过一个选择策略,直接得到一个局部最优解,而不需要通过递归遍历。其中的关键是如何证明贪心策略是正确的,并找到其中的最优解。

 

原文地址:https://www.cnblogs.com/yingni/p/11884423.html