算法报告
‘壹’ 什么叫C++的核心算法啊,报告中要求写核心算法
就是主要算法。
‘贰’ 算法课程设计报告
题目中要求的功能进行叙述分析,并且设计解决此问题的数据存储结构,(有些题目已经指定了数据存储的,按照指定的设计),设计或叙述解决此问题的算法,描述算法建议使用流程图,进行算法分析指明关键语句的时间复杂度。
给出实现功能的一组或多组测试数据,程序调试后,将按照此测试数据进行测试的结果列出来 。
对有些题目提出算法改进方案,比较不同算法的优缺点。
如果程序不能正常运行,写出实现此算法中遇到的问题,和改进方法;
2 对每个题目要有相应的源程序(可以是一组源程序,即详细设计部分):
源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
程序能够运行,要有基本的容错功能。尽量避免出现操作错误时出现死循环;
3 最后提供的主程序可以象一个应用系统一样有主窗口,通过主菜单和分级菜单调用课程设计中要求完成的各个功能模块,调用后可以返回到主菜单,继续选择其他功能进行其他功能的选择。最好有窗口展示部分。
4 课程设计报告:(保存在word 文档中,文件名要求 按照"姓名-学号-课程设计报告"起名,如文件名为"张三-001-课程设计报告".doc )按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;
其中包括:
a)需求分析:
在该部分中叙述,每个模块的功能要求
b)概要设计
在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。
c)详细设计
各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)
源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
d)调试分析
测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。
5. 课设总结: (保存在word 文档中)总结可以包括 : 课程设计 过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对C课程的认识等内容;
6.实验报告的首页请参考如下格式:
课程设计实验
起止日期:20 -20 学年 学期
系别 班级 学号 姓名
实验题目 □设计性 □综合性
自我评价
教师评语 能够实现实验要求的功能 □全部 □部分算法有新意 □有 □一般程序运行通过 □全部 □部分 算法注释说明 □完善 □仅有功能说明接口参数说明 □有 □无按期上交打印文档资料及源程序 □所有 □部分综合设计说明报告结构 □合理 □不合理用户使用说明 □完整 □不全现场演示操作有准备 □有 □无问题解答流畅 □流畅 □不流畅独立完成实验 □能 □不能体现团队合作精神。 □能够 □不能
成绩
这是张表格,过来时没调整好,不过应该看得明白。我们是这样写的,你可以参考一下。
‘叁’ 在C语言中怎样报告一个算法的运行时间
#include <time.h> //头文件
void main()
{
clock_t t1,t2,t3,t4;
t1=clock();
QuickSort(data,N);
t2=clock();
cout<<"快速排序用的时间:"<<t2-t1<<"毫秒"<<endl;
t3=clock();
Bubble(data);
t4=clock();
cout<<"冒泡排序用的时间:"<<t4-t3<<"毫秒"<<endl;
}
这是我在做快排和冒泡比较时用到的一段代码,看完你应该很清楚了O(∩_∩)O~
‘肆’ 高级算法与数据结构实践的结课报告怎么写
#include<fstream>
#include<iostream>
#include<string>
#include<stdio.h>
#include<iomanip>
#define SIZE_view 50
#define SIZE_line 100
#define SIZE_way 300
#define MAXNODE 30 //定义最多的顶点数
#define MAXCOST 1000
//自己写的头文件
//#include<addview.h>// //
using namespace std;
struct view_info /*城市信息结构*/
{
int id;
char name[20];
int code;
char shortname[20];
char LName[100];// 经过此车站的铁路线名称
} views[SIZE_view];
struct line_info //铁路线信息结构
{
int Lid;
char LName[20];
int start_id; //始发站id
int end_id; //终点站id
int dist; //铁路线长度
int sign;//通行标志
}lines[SIZE_line];
struct way_info //铁路度的信息结构
{
int station1;
int station2;
int dist;
}ways[SIZE_way];
struct path_info //用于最短路径的查询
{
int count;
int path[SIZE_view];
};
int view_count,line_count,way_count;//用来存储文件中有多少条记录
void readviews()
{
int i;
ifstream infile("views.txt",ios::in); //打开文件
infile >>view_count ; //把文件中的记录赋值给view_count
if(!infile) //打开文件失败
{
cerr<<"open error!"<<endl;
exit(1);
}
//infile>>view_count; // 先读入文件个数
for(i=0;i<view_count;i++)
{
infile>>views[i].id>>views[i].name>>views[i].code>>views[i].shortname>>views[i].LName;
}
//view_count=i;//给出原文件中车站的个数
infile.close();
cout<<" "<<"id"<<" "<<"name"<<" "<<"code"<<" "<<"shortname"<<" "<<"LName"<<endl;
for(i=0;i<view_count;i++)
cout<<" "<<views[i].id<<" "<<views[i].name<<" "<<views[i].code
<<" "<<views[i].shortname<<" "<<views[i].LName<<endl;
}
void readways() //读文件ways.txt
{
int i;
ifstream infile("ways.txt",ios::in); //打开文件
infile>>way_count; ////把文件中的记录赋值给way_count
if(!infile) //打开文件失败
{
cerr<<"open error!"<<endl;
exit(1);
}
for(i=0;i<way_count;i++)
infile>>ways[i].station1>>ways[i].station2>>ways[i].dist;
infile.close();
//测试用,输出路段的信息
cout<<" "<<"station1"<<" "<<"station2"<<" "<<"dist"<<endl;
for(i=0;i<way_count;i++)
cout<<" "<<ways[i].station1<<" "<<ways[i].station2<<" "<<ways[i].dist<<endl ;
}
void readlines() //读文件lines.txt
{
int i;
ifstream infile("lines.txt",ios::in); //打开文件
infile>>line_count; //把文件中的记录赋值给line_count
if(!infile) //打开文件失败
{
cerr<<"open error!"<<endl;
exit(1);
}
for(i=0;i<line_count;i++)
infile>>lines[i].Lid>>lines[i].LName>>lines[i].start_id>>lines[i].end_id>>lines[i].dist>>lines[i].sign;
infile.close();
/*
cout<<" "<<"Lid"<<" "<<"LName"<<" "<<"start_id"<<" "<<"end_id"<<" "<<"dist"<<" "<<"sign"<<endl;
for(i=0;i<view_count;i++)
cout<<" "<<lines[i].Lid<<" "<<lines[i].LName<<" "<<lines[i].start_id
<<" "<<lines[i].end_id<<" "<<lines[i].dist<<" "<<lines[i].sign<<endl;
*/ //这里是输出文件中的信息
}
void search () //查询车站信息(所在的铁路线)
{
cout<<"please enter the station name:";
char sta_name[20];
cin>>sta_name; //输入要查询的名字
cout<<endl;
ifstream infile("views.txt ",ios::in); //读文件
infile >>view_count ; //读出文件记录的个数
if(!infile) //打开文件失败
{
cerr<<"open error!"<<endl;
exit(1);
}
int i,mark;
for(i=0;i<view_count;i++)
infile>>views[i].id>>views[i].name>>views[i].code>>views[i].shortname>>views[i].LName;
infile.close();
for(i=0;i< view_count;i++)
{
if(strcmp(sta_name,views [i].name)==0) //找到车站
{
cout<<"the station's informations is:\n"<<endl;
cout<<" "<<"id"<<" "<<"name"<<" "<<"code"<<" "<<"shortname"<<" "<<"LName"<<endl;
cout<<" "<<views[i].id<<" "<< views[i].name<<" "<< views [i].code
<<" "<< views [i].shortname<<" "<< views [i].LName <<endl;
break;
}
mark=i;
}
if(mark==( view_count -1)) //若没有找到,输出提示
{
cout<<"sorry,the station is not in here"<<endl;
}
}
void addview()
{
cout<<"please enter the new view's informations:"<<endl; //输入新车站信息
cout<<"id:";
cin>>views[view_count].id;
cout<<"name:";
cin>>views[view_count].name;
cout<<"code:";
cin>>views[view_count].code;
cout<<"shortname:";
cin>>views[view_count].shortname;
cout<<"LName:";
cin>>views[view_count].LName;
ofstream outfile("views.txt",ios::app); //打开views文件,并且写入数据
outfile<<view_count<<endl;
if(!outfile) //文件打开失败
{
cerr<<"open error!"<<endl;
exit(1);
}
outfile<<views[view_count].id<<" "<<views[view_count].name<<" "<<views[view_count].code
<<" " <<views[view_count].shortname<<" "<<views[view_count].LName<<endl;
//在文件末尾添加
view_count=view_count+1;
outfile.close(); //关闭文件
cout<<"successfully! the new station is added"<<endl;
cout<<"now station number is:"<<view_count<<endl;
}
void addway()
{
cout<<"please enter the new way's informations:"<<endl; //输入新车站信息
cout<<"station1:";
cin>>ways[way_count].station1; // station1的id
cout<<"station2:";
cin>>ways[way_count].station2; //station2的id
cout<<"dist:";
cin>>ways[way_count].dist; //路段的长度
ofstream outfile("ways.txt",ios::app); //打开way.txt文件
outfile<<way_count<<endl;
if(!outfile) //文件打开失败
{
cerr<<"open error!"<<endl;
exit(1);
}
outfile<<ways[way_count].station1<<" "<<ways[way_count].station2<<" "<<ways[way_count].dist;
//在文件末尾添加
outfile.close(); //关闭文件
cout<<"successfully! the new station is added"<<endl;
way_count=way_count+1;
cout<<"now station number is:"<<view_count<<endl;
}
void addline()
{
cout<<"please enter the new line's informations:"<<endl; //输入新铁路线信息
cout<<"Lid:";
cin>>lines[line_count].Lid;
cout<<"LName:";
cin>>lines[line_count].LName;
cout<<"start_id:";
cin>>lines[line_count].start_id;
cout<<"end_id:";
cin>>lines[line_count].end_id;
cout<<"dist:";
cin>>lines[line_count].dist;
cout<<"sign:";
cin>>lines[line_count].sign;
ofstream outfile("lines.txt",ios::app); //打开文件
outfile <<line_count << endl;
if(!outfile) //文件打开失败
{
cerr<<"open error!"<<endl;
exit(1);
}
outfile<<lines[line_count].Lid<<" "<<lines[line_count].LName<<" "<<lines[line_count].start_id
<<" " <<lines[line_count].end_id<<" "<<lines[line_count].dist<<lines[line_count].sign<<endl;
//在文件末尾添加
outfile.close(); //关闭文件
cout<<"successfully! the new line is added"<<endl;
line_count=line_count+1;
cout<<"now line number is:"<<line_count<<endl;
}
//-----------------------------------------------------------------------------------
void floyed() //弗洛伊德(Floyed)算法
{
int i, j, k, m, start_num, end_num; //i,j用来表示起始点和终点
int dist_list[SIZE_view][SIZE_view]; //定义了一个数组
view_count=view_count+1;
struct path_info path_list[SIZE_view][SIZE_view]; //定义了一个path_info结构的变量,包含着count和path[]用来存储经过的路径
for(i=1;i<=view_count;i++) //这里开始读文件,先让所有的线都为最大值
for(j=1;j<=view_count;j++)
dist_list[i][j]=MAXCOST;
for(int t=0;t<=way_count;t++)
{
i=ways[t].station1;
j=ways[t].station2;
dist_list[i][j]=ways[t].dist;//把文件中的数据赋值给dist_list[i][j]=ways[t].dist;形式
}
for (i =0; i< view_count; i++)
{
for (j= 0; j<view_count; j++)
{
if (i == j)
{
dist_list[i][j] = 0;
continue;
}
dist_list[i][j] = -1;
path_list[i][j].count = 0;
for (k = 0; k< way_count; k++) //
{
if (ways[k].station1 == i && ways[k].station2 == j) //把起始点和终点分别给予i,j
{
dist_list[i][j] = ways[k].dist;
path_list[i][j].count = 2;
path_list[i][j].path[0] = i;
path_list[i][j].path[1] = j;
break;
}
}
}
}
for (k = 0; k<= view_count-1; k++)
{
for (i = 0; i < view_count; i++)
for (j = 0; j< view_count; j++)
{
if (i == k || j == k || i == j)
continue;
if (dist_list[i][k] == -1 || dist_list[k][j] == -1)
continue;
if ( (dist_list[i][j] == -1) ||
((dist_list[i][j] != -1) &&(dist_list[i][k] + dist_list[k][j] < dist_list[i][j])))
{
dist_list[i][j] = dist_list[i][k] + dist_list[k][j];
// shortest[i][j]=shortest[i][k]+shortest[k][j];
path_list[i][j].count = path_list[i][k].count + path_list[k][j].count - 1;
// path[i][j]=k;
for (m = 0; m < path_list[i][k].count; m++)
path_list[i][j].path[m] = path_list[i][k].path[m];
for (m = 0; m < path_list[k][j].count; m++)
path_list[i][j].path[m+path_list[i][k].count] = path_list[k][j].path[m+1];
}
}
}
cout<<" Floyed table:\n";
cout<<" All views in the school:\n";
for (i = 0; i < view_count-1; i++)
cout<<" "<<i+1<<":"<<views[i].name<<endl;
cout<<" Please input the start number: ";
cin>>start_num;
cout<<" Please input the end number: ";
cin>>end_num;
cout<<endl<<endl;
cout<<"From"<<views[start_num-1].name<<"to"<<views[end_num-1].name;
if (dist_list[start_num][end_num] == -1)
cout<<"no way."<<endl;
else
{
cout<<"distance is "<<dist_list[start_num][end_num]<<", and path is :";//dist_list[][]用来表示两点间的长度
k = path_list[start_num][end_num].path[0]-1; //path_list[][]用来保存路径path[m]在这里表明是通过的那个车站的
cout<<views[k].name;
for (m = 1; m < path_list[start_num][end_num].count; m++)
{
k = path_list[start_num][end_num].path[m]-1; //这里应该也是int型,k是经过的路径的id
cout<<"->"<<views[k].name;
}
}
cout<<endl<<endl;
}
void main()
{
readviews();
readlines() ;
readways();
while(1)
{
int menu;
cout<<endl<<endl<<endl<<endl;
cout<<" 全国铁路运输网最佳经由系统 "<<endl;
cout<<"**********************************************************"<<endl;
cout<<" 1:增加车站信息 "<<endl;
cout<<" 2:增加铁路线信息 "<<endl;
cout<<" 3:查询车站信息 "<<endl;
cout<<" 4:查询最短路径 "<<endl;
cout<<" 5:退出界面 "<<endl;
cout<<"**********************************************************"<<endl;
cout<<"输入要进行的操作的代码(1--5):"<<endl;
cin>>menu;
while(menu<1||menu>5)
{
cout<<"error!please enter again:";
cin>>menu;
}
switch(menu)
{
case 1:
while(1)
{
addview();
while (1)
{
addway();
cout<<"do you want to continue (y/n) "<<endl;
char con ;
cin>>con;
if(con=='y')
addway();
else
break;
}
cout<<"do you want to continue (y/n) "<<endl;
char con ;
cin>>con;
if(con=='y')
addview();
else
break;
}
break;
case 2:
while(1)
{
addline();
cout<<"do you want to continue (y/n) "<<endl;
char con ;
cin>>con;
if(con=='y')
addline();
else
break;
}
break;
case 3:
while(1)
{
search ();
cout<<"do you want to continue (y/n) "<<endl;
char con ;
cin>>con;
if(con=='y')
search ();
else
break;
}
break;
case 4:
while(1)
{
floyed();
cout<<"do you want to continue (y/n) "<<endl;
char con ;
cin>>con;
if(con=='y')
floyed();
else
break;
}
break;
case 5:
{
cout<<"谢谢使用,再见!"<<endl;
exit(1);
}
}
}
}
这也是我借鉴别人的,大家分享一下
‘伍’ 求份 贪心算法报告 用C,C++ 或JAVA
同学啊,明天就要交了,如果真的不知道怎么写,我给你个及格分吧。不用来这里求助的啦
‘陆’ 关于计算机算法的读书报告,任意一个算法都行
计算机zip压缩算法
‘柒’ 什么叫算法描述啊
算法描述(AlgorithmDescription)是指对设计出的算法,用一种方式进行详细的描述,以便与人交流。算法可采用多种描述语言来描述,各种描述语言在对问题的描述能力方面存在一定的差异,可以使用自然语言、伪代码,也可使用程序流程图,但描述的结果必须满足算法的五个特征。
算法可采用多种描述语言来描述,例如,自然语言、计算机语言或某些伪语言。各种描述语言在对问题的描述能力方面存在一定的差异。例如,自然语言较为灵活,但不够严谨。而计算机语言虽然严谨,但由于语法方面的限制,使得灵活性不足。
因此,许多教材中采用的是以一种计算机语言为基础,适当添加某些功能或放宽某些限制而得到的一种类语言。这些类语言既具有计算机语言的严谨性,又具有灵活性,同时也容易上机实现,因而被广泛接受。目前,许多“数据结构”教材采用类PASCAL语言、类C++或类C语言作为算法描述语言。
(7)算法报告扩展阅读:
算法的特征
1、输入:一个算法必须有零个或以上输入量。
2、输出:一个算法应有一个或以上输出量,输出量是算法计算的结果。
3、明确性:算法的描述必须无歧义,以保证算法的实际执行结果是精确地符合要求或期望,通常要求实际运行结果是确定的。
4、有限性:依据图灵的定义,一个算法是能够被任何图灵完备系统模拟的一串运算,而图灵机器只有有限个状态、有限个输入符号和有限个转移函数(指令)。而一些定义更规定算法必须在有限个步骤内完成任务。
5、有效性:又称可行性。能够实现,算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。
‘捌’ 写报告中算法基本原理是什么意思
MATLAB的变量名必须是不包括空格的单个词,且区分大小写