计算机算法与设计分析实验报告大学论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机算法与设计分析




班级:
姓名:
学号:
实验一分治与递归
一、实验目的与要求
1、熟悉C/C++语言的集成开发环境;
2、通过本实验加深对递归过程的理解
二、实验题:
任意输入一个整数,输出结果能够用递归方法实现整数的划分。

三、程序代码
四、实验结果
一、实验目的与要求
1、熟悉二分搜索算法;
2、初步掌握分治算法;
二、实验题
设a[0:n-1]是一个已排好序的数组。

请改写二分搜索算法,使得当搜索元素x不在数组中时,返回小于x的最大元素的位置I和大于x的最大元素位置j。

当搜索元素在数组中时,I和j相同,均为x在数组中的位置。

三、程序代码
四、实验结果
实验二动态规划算法
一、实验目的与要求
1、熟悉最长公共子序列问题的算法;
2、初步掌握动态规划算法;
二、实验题
若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。

例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递增下标序列为{2,3,5,7}。

给定2个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。

三、程序代码
四、实验结果
一、实验目的与要求
1、熟悉最长最大字段和问题的算法;
2、进一步掌握动态规划算法;
二、实验题
若给定n个整数组成的序列a1,a2,a3,……a n,求该序列形如a i+a i+1+……+a n的最大值。

三、程序代码
四、实验结果
实验三贪心算法
一、实验目的与要求
1、初步掌握贪心算法
2、熟悉多机调度问题的算法;
二、实验题
要求给出一种作业调度方案,使所给的n个作业在尽可能短的时间内由m台机器加工处理完成。

约定,每个作业均可在任何一台机器上加工处理,但未完工前不允许中断处理。

作业不能拆分成更小的子作业。

三、程序代码
四、实验结果
一、实验目的与要求
1、熟悉贪心算法的基本原理与适用范围。

2、使用贪心算法编程。

二、实验题
一辆车加满油后可行驶n km。

旅途中有若干加油站。

设计一个有效算法,指出应当在哪些加油站停靠加油,使得沿途加油次数最少。

对于给定的n和k个加油站位置,编程计算最少加油次数。

三、程序代码
四、实验结果
实验四回溯算法和分支限界法
一、实验目的与要求
1、掌握符号三角形问题的算法;
2、初步掌握回溯算法;
二、实验题
下面都是“-”。

下图是由14个“+”和14个“-”组成的符号三角形。

2个同号下面都是“+”,2个异号下面都是“-”。

在一般情况下,符号三角形的第一行有n个符号。

符号三角形问题要求对于给定的n,计算有多少个不同的符号三角形,使其所含的“+”和“-”的个数相
三、程序代码
四、实验结果
一、实验目的与要求
1、掌握0—1背包问题的回溯算法;
2、进一步掌握回溯算法;
二、实验题
给定n种物品和一背包。

物品i的重量是w i,其价值为v i,背包的容量为C。

问应如何选择装入背包的物品,使得装入背包中物品的总价值最大?
三、程序代码
四、实验结果。

相关文档
最新文档