摘要: 1.实践题目 : 工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表 阅读全文
posted @ 2018-12-23 21:07 苏伟康 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 1.回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为: 1、定义一个解空间,它包含问题的解。 2、利用适于搜索的方法组织解空间。 3、利用深度优先法搜索解空间。 4、利用限界函数避免移动 阅读全文
posted @ 2018-12-23 20:54 苏伟康 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 数字三角形 2.问题描述 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3.算法描述 代码如下: #include <iostream>using namespace 阅读全文
posted @ 2018-11-04 22:51 苏伟康 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 1.对动态规划算法的理解 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。最经常用到的是自底 阅读全文
posted @ 2018-11-04 22:33 苏伟康 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 题目来源:《计算机算法设计与分析》,王晓东 设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组中的位置。 输入格式: 输入有两行: 第一行是n值和x值; 第二行 阅读全文
posted @ 2018-10-14 19:09 苏伟康 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 1、我对二分法思想的体会: (1)二分法是通过不断缩小解存在的范围,从而求得最优解。而且效率比普通查找的要高。 (2)二分本身思想比较容易,但是写的过程中,因为边界问题很容易出错.而且它要求要求数组必须是有序排列。 2、结对编程情况汇报: 结对编程的好处在于身边有个同伴的存在,在编写代码时,一旦出现 阅读全文
posted @ 2018-10-14 18:06 苏伟康 阅读(196) 评论(0) 推荐(0) 编辑