xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡介

1)設(shè)計的主菜單可以是圖形模式的,也可以是控制臺模式的。以控制臺為例,主菜單大致如下:
-------------------------
《算法設(shè)計與分析》實驗
-------------------------
算法分析基礎(chǔ)——Fibonacci序列問題
分治法在數(shù)值問題中的應(yīng)用——矩陣相乘問題
減治法在組合問題中的應(yīng)用——8枚硬幣問題
變治法在排序問題中的應(yīng)用——堆排序問題
動態(tài)規(guī)劃法在圖問題中的應(yīng)用——全源最短路徑問題
99. 退出本實驗
-------------------------
請輸入您所要執(zhí)行的操作(1,2,3,4,5,99):
2)點擊操作后進入相應(yīng)的實驗項目或是相應(yīng)項目的下一級菜單;
3)可以反復(fù)執(zhí)行,直到退出實驗。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#define?N?200
#define?MaxVertices?100?//假設(shè)包含100個頂點
#define?MaxWeight?32767?//不鄰接時為32767,但輸出時用?“∞“
#define?MAXV?10
#define?INF?32767
using?namespace?std;
typedef?struct{?//包含權(quán)的鄰接矩陣的的定義
????int?Vertices[MaxVertices];??//頂點信息的數(shù)組
????int?Edge[MaxVertices][MaxVertices];?//邊的權(quán)信息的數(shù)組
????int?numV;?//當前的頂點數(shù)
????int?numE;?//當前的邊數(shù)
}AdjMatrix;


typedef?struct?array
{
int?*a;
int?n;
}Array;

void?menu()//主菜單?
{
//標題頭?
cout<<“ ----------------------------------------------------- “< cout<<“????????????? 《算法設(shè)計與分析》實驗“< cout<<“ -----------------------------------------------------“<//選擇菜單
cout<<“ ??1.算法分析基礎(chǔ)——Fibonacci序列問題“?< cout<<“ ??2.分治法在數(shù)值問題中的應(yīng)用——矩陣相乘問題?“< cout<<“ ??3.減治法在數(shù)值問題中的應(yīng)用——8枚硬幣問題?“< cout<<“ ??4.變治法在數(shù)值問題中的應(yīng)用——堆排序問題?“< cout<<“ ??5.動態(tài)規(guī)劃法在圖問題中的應(yīng)用——全源最短路徑問題?“< cout<<“ ??99.退出本實驗“?< cout<<“ -----------------------------------------------------“< cout<<“ ??請輸入您所要執(zhí)行的操作(1234599);“<
}

//Fibonacci算法實現(xiàn)階段?
//Fibonacci數(shù)列
int?Fi(int?i)
{
if(i<=1)
return?i;
else
return?Fi(i-1)+Fi(i-2);
}

void?Fn()
{
int?i=0j=0;
do
{
j=Fi(i);
if(j>=0)
printf(“%d??“j);
++i;
}while(j>=0);
printf(“\n計算機所能計算的最大整數(shù)是第%d個fibonacci整數(shù)。\n“i-1);
}

void?Fib()
{?
int?i=1f[3]={01};
printf(“%d??\n“f[0]);
do
{
printf(“%d??\n“f[1]);
f[2]=f[1]+f[0];
f[0]=f[1];
f[1]=f[2];
i++;
}while(f[1]>=f[0]);
printf(“\n\t計算機所能表示的最大fibonacci整數(shù)是第%d個fibonacci整數(shù)。\n“i);
}

void?fibonacci()
{
double?start;
start=clock();
Fib();
printf(“\t迭代所用時間是%lf?\n\n“clock()-start);
start=clock();
Fn();
printf(“\t遞歸所用時間是%lf?\n\n“clock()-start);
}



//矩陣相乘問題求解?
void?PrintIn(Array?AArray?B)
{
int?n=A.n;
int?ij;
printf(“請輸入A數(shù)據(jù):\n“);
for(i=0;i?????????for(j=0;j ?cin>>A.a[i*n+j];
????printf(“請輸入B數(shù)據(jù):\n“);
for(i=0;i?????????for(j=0;j???????????cin>>B.a[i*n+j];
}

void?RandomIn(Array?AArray?B)
{
int?n=A.n;
srand((unsigned)time(NULL));
int?ij;
for(i=0;i for(j=0;j A.a[i*n+j]=rand()%10;

for(i=0;i ???for(j=0;j B.a[i*n+j]=rand()%10;
}
void?PrintOut(Array?A)
{??
int?n=A.n;
int?ij;
for(i=0;i ???{?for(j=0;j ???cout< ?printf(“\n“);
???}
}
void?divide(Array?dArray?d00Array?d01Array?d10Array?d11)??/*分割矩陣*/
{
int?n=d00.n;
???int?ij;
???for(i=0;i???{
???for(j=0;j ???{
???d00.a[n*i+j]=d.a[2*n*i+j];
???d01.a[n*i+j]=d.a[2*n*i+n+j];
???d10.a[n*i+j]=d.a[2*n*n+2*n*i+j];
???d11.a[n*i+j]=d.a[2*n*n+2*n*i+n+j];
???}
???}
}
Array?merge(Array?d00Array?d01Array?d10Array?d11)??
{
??int?n=d00.n;
??int?ij;
??Array?d;
??d.a=(int?*)malloc(sizeof(int)*?(4*n*n));
??for(i=0;i???{
???for(j=0;j

評論

共有 條評論

相關(guān)資源