已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江西南昌市南丰至南昌高速公路建设项目部招聘2人考试笔试参考题库附答案解析
- 2025云南中咨海外咨询公司招聘考试笔试备考题库及答案解析
- 2025内蒙古赤峰巴林右旗医院招聘29人笔试考试备考试题及答案解析
- 2025广东省中医院海南医院考核招聘工作人员(第二批)海口站招聘岗位21人考试笔试备考试题及答案解析
- 2025年永顺县经济建设投资集团有限公司招聘考试笔试备考题库及答案解析
- 静电记录头制作工安全知识宣贯知识考核试卷含答案
- 膏药剂工安全行为能力考核试卷含答案
- 2025吉林通化市梅河口市公益性岗位人员招聘100人考试笔试备考试题及答案解析
- 2026湖北水发集团校园招聘考试笔试参考题库附答案解析
- 玻璃制品镀膜工岗前安全宣传考核试卷含答案
- 2025年大学警务指挥与战术专业题库- 警务指挥与战术应急反应措施
- 驾照科目一理论考试全模拟试题
- 安全工作计划安全生产年度工作计划
- 人工智能在心理健康服务领域的应用前景报告
- 2025-2030儿童专注力训练行业市场需求与发展策略分析报告
- 开展非遗成果汇报
- 水质监测浮标汇报
- 颈部脓肿课件
- 合同完工验收方案(3篇)
- 工地农民工安全培训课件
- 贵重货物存放管理办法
评论
0/150
提交评论