文档介绍:计算机算法与设计分析实验报告班级: 姓名: 学号: 计算机算法分析与设计——实验报告 1 实验一分治与递归一:基本递归算法一、实验目的与要求 1、熟悉 C/C++ 语言的集成开发环境; 2、通过本实验加深对递归过程的理解二、实验题: 任意输入一个整数,输出结果能够用递归方法实现整数的划分。三、程序代码计算机算法分析与设计——实验报告 2 四、实验结果计算机算法分析与设计——实验报告 3 二:二分搜索一、实验目的与要求 1 、熟悉二分搜索算法; 2 、初步掌握分治算法; 二、实验题设 a[0:n-1] 是一个已排好序的数组。请改写二分搜索算法,使得当搜索元素 x 不在数组中时, 返回小于 x 的最大元素的位置 I 和大于 x 的最大元素位置 j。当搜索元素在数组中时, I和j 相同,均为 x 在数组中的位置。三、程序代码计算机算法分析与设计——实验报告 4 四、实验结果计算机算法分析与设计——实验报告 5 实验二动态规划算法一:最长公共子序列问题一、实验目的与要求 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 的公共子序列。三、程序代码计算机算法分析与设计——实验报告 6 四、实验结果二:最大子段和问题计算机算法分析与设计——实验报告 7 一、实验目的与要求 1 、熟悉最长最大字段和问题的算法; 2 、进一步掌握动态规划算法; 二、实验题若给定 n 个整数组成的序列 a 1,a 2,a 3, …… a n, 求该序列形如 a i+a i +1+ ……+a n 的最大值。三、程序代码计算机算法分析与设计——实验报告 8 四、实验结果实验三贪心算法计算机算法分析与设计——实验报告 9 一:多机调度问题一、实验目的与要求 1 、初步掌握贪心算法 2 、熟悉多机调度问题的算法; 二、实验题要求给出一种作业调度方案,使所给的 n 个作业在尽可能短的时间内由 m 台机器加工处理完成。约定,每个作业均可在任何一台机器上加工处理,但未完工前不允许中断处理。作业不能拆分成更小的子作业。三、程序代码