摘要: 实践题目 :工作分配问题 问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费用 阅读全文
posted @ 2018-12-24 19:18 李胤霖 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 1.对回溯算法的理解 回溯法可以系统地搜索一个问题的所有解。重点是要找出约束函数和限界函数。从每个根节点开始,如果匹配则进入该节点的子节点,继续向下匹配,匹配失败则回到父节点的其他子节点向下匹配,如果父节点的所有节点都无法向下匹配成功,则继续回溯。 2.请说明“子集和”问题的解空间结构和约束函数 解 阅读全文
posted @ 2018-12-24 19:13 李胤霖 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 一:贪心算法的理解①通过求解一问题而得到最优解②做贪心选择确定子问题 二:请说明汽车加油问题的贪心选择性质 每次到站都检查自己的油是否足够走完下一程,如果不够就加油,够就继续往前走。三:问题比较容易忽略特殊的特殊情况使算法不完善 阅读全文
posted @ 2018-12-02 20:00 李胤霖 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 7-1 数字三角形 2.问题描述 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3.算法描述 ①两个二维数组,一个存放三角形,一个存放最大数字总和。 1.实践题目 7 阅读全文
posted @ 2018-11-11 23:31 李胤霖 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1.对动态规划的理解 动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,但是经分解得到的子问题往往不是互相独立的。感觉使用动态规划的时候用思路,但实际使用起来却因为不熟练而困难重重。 2.分别列出编程题1、2的递归方程 (1)c[i][j]=c[i-1][j-1]+1 i,j> 阅读全文
posted @ 2018-11-11 23:28 李胤霖 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 1,实践题目: 7-1 二分查找 (20 分) 输入n值(1<=n<=1000)、n 个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 输入格式: 输入共三行: 第一行是n值; 第二行是n 个整数; 第三行是x值。 阅读全文
posted @ 2018-10-14 16:58 李胤霖 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 1、请谈一下你对二分法思想的体会 本章学习了二分算法。二分搜索算法是一种非常简便的查找算法,每次都是通过折半方式直到所需查找的数,时间复杂度为O(n)。我在练习中逐渐掌握了二分查找十分便捷。二分查找的效率很高但也有缺陷,首先它要求是数组,其次还要求有序。 2、结对编程情况汇报 我和我的队友在一个宿舍 阅读全文
posted @ 2018-10-14 16:40 李胤霖 阅读(174) 评论(0) 推荐(0) 编辑