




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重难点解析人教版八年级上册物理声现象《声音的产生与传播》综合测试试卷(附答案详解)
- 滚轴筛课件教学课件
- 滇运安安全培训证明课件
- 滁州西课件教学课件
- 海南建筑安全员a证考试题库及答案解析
- 成人健康护理学中册题库及答案解析
- 河北安全员培训试题题库及答案解析
- 港口安全知识培训课件
- 雨雪天气应急预案2023
- 2025年大学《越南语》专业题库- 越南语言文字传统的文化解读
- 叮当快药大健康生态圈战略解析
- 数学评比活动方案
- TCPUMT 034-2025 工业数字孪生 数字模型与数据集成交换要求
- 曹植的故事课件小学生
- 【艾瑞咨询】2024年中国健康管理行业研究报告494mb
- 施工作业安全管理制度
- 2025年房地产经纪人考试题及答案
- 4.3禁止生物武器
- 康复治疗技术专业实训室设计方案
- 塔里木油田分公司新疆塔里木盆地吐孜洛克气田开采矿山地质环境保护与土地复垦方案
- 2025年中国铸钢件铸铁件铸合件项目投资可行性研究报告
评论
0/150
提交评论