




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
算法设计与分析课程设计报告学 号119074180姓 名都竞班 级 软件112指导教师王喜凤安徽工业大学计算机学院2014年5月1、 分别用递归法和动态规划法求Fibonacci数,并填写下表:表1:F(N)的值F(N)N=2328657N=333524578N=43433494437N=484807526976实验代码如下:#include#include long f(long n)if(n=1) return 1;else return f(n-1)+f(n-2); int main()long n;printf(please input n:n);scanf(%d,&n); printf(%ldn,f(n-1); 表2:不同方法所用时间(ns)递归法动态规划其他N=23时,所用时间547628042768365139673N=33时,所用时间2683748953789654276372N=43时,所用时间267392739854783926573829N=48时,所用时间4876327483273983876289871代码如下:#include#include#include#include long f(int n)long prev1,prev2,cur;int i; if (n =1) return n; prev2 = 0; prev1 = 1; for (i = 2; i = n; i +) cur = prev1 + prev2; prev2 = prev1; prev1 = cur; return cur;int main() int n;long start,finish,cur;printf(please input n:n);scanf(%ld,&n);start=clock(); printf(%ldn,cur);finish=clock();printf(%d ms,(finish-start);getchar();2、 当问题规模时,插入排序、快速排序和合并排序各需多少时间?写清机器配置,列出五种规模下各自需要的时间。按照下列表格提交:插入排序所需时间(ns)快速排序所需时间(ns)合并排序所需时间(ns)N=200436579263786994678N=20003421077503865425773829N=20000207888675142893071200876549N=200000251876390762638965917247890834N=200000025873920928093827483插入排序:package Example_1;import java.util.Scanner;public class Example_1private static int Creat_Array(int num)int array=new intnum;for(int i=0;inum;i+)int randomNumber=(int)(Math.random()*num)+1;arrayi=randomNumber;return array;private static void StraightInsertSort(int array)int x,i,j;for(i=1;i=0;j-)if(xarrayj)arrayj+1=arrayj;arrayj+1=x;private static void Print_Array(int array,int num)for(int i=0;inum;i+)System.out.printf(%d ,arrayi);if(i+1)%10=0)System.out.println();public static void main(String args) System.out.println(输入数据规模:);Scanner reader=new Scanner(System.in);int num=reader.nextInt();reader.close();int array=Creat_Array(num);long startTime=System.nanoTime(); StraightInsertSort(array);long endTime=System.nanoTime();Print_Array(array,num);System.out.println(程序运行时间: +(endTime-startTime)+ns);快速排序:package Try;import java.util.Scanner;public class Tryprivate static int Creat_Array(int num)int array=new intnum;for(int i=0;inum;i+)int randomNumber=(int)(Math.random()*num)+1;arrayi=randomNumber;return array;private static int Partition(int array,int p,int r)int i = p, j = r; int x=arrayi; while(ij) while(ij&xarrayj) j-; arrayi=arrayj; while(i=arrayi) i+; arrayj=arrayi; arrayi=x; return i;private static void QuickSort_Array(int array,int p,int r)if (pr) int q=Partition(array,p,r); QuickSort_Array (array,p,q-1); /对左半段排序 QuickSort_Array (array,q+1,r); /对右半段排序 private static void Print_Array(int array,int num)for(int i=0;inum;i+)System.out.printf(%d ,arrayi);if(i+1)%10=0)System.out.println();public static void main(String args)System.out.println(输入数据规模:);Scanner reader=new Scanner(System.in);int num=reader.nextInt();int array=Creat_Array(num);long startTime=System.nanoTime(); QuickSort_Array(array,0,num-1);long endTime=System.nanoTime();Print_Array(array,num);System.out.println(程序运行时间: +(endTime-startTime)+ns);reader.close();合并排序:package Example_2;import java.util.Scanner;public class Example_2 private static int Creat_Array(int num)int array=new intnum;for(int i=0;inum;i+)int randomNumber=(int)(Math.random()*num)+1;arrayi=randomNumber;return array;private static void Merge(int r,int rf,int u,int v,int t)int i,j,k;for(i=u,j=v+1,k=u;i=v&j=t;k+)if(rirj)rfk=ri;i+;elserfk=rj;j+;while(i=v)rfk+=ri+;while(j=t)rfk+=rj+;private static void MSort(int array,int array1,int n,int t)int m;int array2=new intarray.length;if(n=t)array1n=arrayn;elsem=(n+t)/2;MSort(array,array2,n,m);MSort(array,array2,m+1,t);Merge(array2,array1,n,m,t);private static void MergeSort(int array)MSort(array,array,0,array.length-1);private static void Print_Array(int array,int num)for(int i=0;inum;i+)System.out.printf(%d ,arrayi);if(i+1)%10=0)System.out.println();public static void main(String args) System.out.println(输入数据规模:);Scanner reader=new Scanner(System.in);int num=reader.nextIn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 论文班级管理
- 高中化学实验课
- 调查问卷式论文怎么写
- 14 《普罗米修斯》 课件
- 2025-2030年半甜白葡萄酒行业市场前景分析及发展趋势与投资风险研究报告
- 2025-2030年免焊接防盗窗行业市场深度调研及前景趋势与投资研究报告
- 2025-2030年中国食品消毒柜行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国雨刮器系统行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国轻质涂料纸行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国解除脱机系统行业市场现状供需分析及投资评估规划分析研究报告
- 江苏省苏州市2024-2025学年高一历史下学期期末考试试题含解析
- 安徽省马鞍山市2024-2025学年高一生物下学期期末考试试题
- 蔬菜农药残留检测合同
- YY 0117.1-2024外科植入物骨关节假体锻、铸件第1部分:Ti6Al4V钛合金锻件
- 任务6.4 IBP盘认知与操作课件讲解
- 2024年首届全国“红旗杯”班组长大赛考试题库800题(含答案)
- 基于3D打印技术的个性化正畸矫治器设计
- 国际化竞争格局下的动漫游戏行业发展策略
- 河南省郑州市中原区2023-2024学年八年级下学期期末历史试卷
- GB/T 44087-2024北斗三号区域短报文通信用户终端技术要求与测试方法
- 资本论在中国智慧树知到期末考试答案2024年
评论
0/150
提交评论