资源简介
实验目的:通过实验理解算法的概念、算法的表示、算法的时间复杂度和空间复杂度分析;运用熟悉的编程工具对码头扩建问题进行求解,初步学会分析算法的时间复杂度
某市有一码头,每次仅容一辆船停泊装卸货,由于经常有船等候进港,部分人提出要扩建码头。经过调查历史资料发现,码头平均每月停船24艘,每艘船的停泊时间为24±20小时,相邻两艘船的到达时间间隔为30±15小时,如果一艘船因有船在港而等候1小时,其消耗成本为1000元。经预算,扩建码头大约需要1350万元,故市长决策如下:如果未来五年内停泊船只因等候的成本消耗总和超过扩建码头花费则扩建码头,否则,不予扩建。因此,希望你能够帮助市长做出决策。此问题已知到达的大概时间和大概停泊时间,对于此问题用概率统计的方法来做比较复杂,可用程序随机产生到达时间和停泊时间来模拟未来五年内船的停泊,多次模拟预测停泊情况,以做出决策;
3.实验要求:编制程序并对其时间复杂度和空间复杂度进行分析;
代码片段和文件信息
#include “stdafx.h“
#include
#include
#include
using namespace std;
#include
#define year 5
#define test 100
int remaintime;
int reach;
int leave;
int s = 0;
double money = 13500000;
int sx = 0;
int Random(int m int n)//mn分别为负向随机和正向随机
{
int pos dis;
if (m == n)//m=n不叫随机数,返回m
{
return m;
}
else if (m > n)// 标记pos=n,距离差pos=m-n+1,返回 rand() % dis + pos
{
pos = n;
dis = m - n + 1;
return rand() % dis + pos;
}
else
{
pos = m;//标记pos=m,距离差=n-m+1,返回rand() % dis + pos
dis = n - m + 1;
return rand() % dis + pos;
}
}
int main()
{
srand((int)time(NULL));
int leave = 0;
remaintime = 24 + Random(-20 20);//定义停泊时间
reach =0;//第一艘船到达时间为0
leave = remaintime;//第一艘船离开时间为停留时间
reach = 30 + Random
相关资源
- VC++基于OpenGL模拟的一个3维空间模型
- 数值分析算法程序设计 C++实现
- 单像空间后方交会用C语言实现的
- 使用OpenGL实现多个小球在密闭空间内
- 空间后方交会前方交会
- 摄影测量 单向空间后方交会程序
- 数据结构算法设计C++,乐学答案
- 摄影测量单张相片空间后方交会
- 单片空间后方交会C++程序代码数据来
- MFC实现7种排序算法、比较时间复杂度
- 安徽大学操作系统实验四主存空间的
- 摄影测量学 单向空间后方交会 c++
- 空间后方交会代码
- 空间前方交回Qt c++程序
- 单像空间后方交会程序
- 郑宗汉著算法设计与分析第2版
- imx6 ipu颜色空间转换
- VC++中为PIC空间添加滚动条显示大图片
- 算法设计实验报告-求最大子段和问题
- 操作系统用位示图管理磁盘的空间的
- 最大团问题C语言算法设计与分析
- 算法设计实验报告-快速排序和归并排
- 算法设计分析中 图的m色的着色问题
- C++ 分治法解决邮局选址问题
- 点是否在多边形内判断的C语言代码
- 通信中数据分段与重组算法设计及其
- 控制台五子棋程序c语言
- 空间后方、前方交会算法的C++实现
- 动态规划算法求解字符串比较问题c
- 状态空间法解决汉诺塔问题
评论
共有 条评论