2018年12月23日
摘要: 实践题目 :工作分配问题 问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费用 阅读全文
posted @ 2018-12-23 00:30 +- 阅读(113) 评论(0) 推荐(0) 编辑
  2018年12月22日
摘要: 你对回溯算法的理解(2分) 答:回溯算法就是先选一条路走,能走就走,不能则返回,换一条路走。 请说明“子集和”问题的解空间结构和约束函数(2分) 答:解空间结构:子集树 约束函数:如果往下走时相加的子集和超过目标值,则表示这条路不能走了,回溯。 请说明在本章学习过程中遇到的问题及结对编程的情况(1分 阅读全文
posted @ 2018-12-22 23:26 +- 阅读(91) 评论(0) 推荐(0) 编辑
  2018年12月1日
摘要: 第四章实践报告 实践报告任选一题进行分析。内容包括: 时间复杂度:sort()进行排序,时间复杂度为O(NlgN),循环累加比较,时间复杂度为O(N),总的时间复杂度为O(NlgN)。 空间复杂度:O(1) 收获,对于贪心算法又加深了一点点理解, 阅读全文
posted @ 2018-12-01 19:38 +- 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 第四章作业 1.我的理解就是贪心算法是从步步最优,到达全局最优。 2.先检测各加油站之间的距离,如果发现其中有一段路大于这辆车加满油后能行驶的路程,则无法到达目的地、输出No Solution!,否则就站与站之间的距离相加,直到加起来的和大于这辆车加满油后能行驶的路程,加油次数加一,直到抵达目的地 阅读全文
posted @ 2018-12-01 19:31 +- 阅读(135) 评论(0) 推荐(0) 编辑
  2018年11月4日
摘要: 1.你对动态规划算法的理解(2分) 2.分别列出编程题1、2的递归方程(2分) 3.说明结对编程情况(1分) 1.时间复杂度更小,采用递归、备忘录,避免重复计算子问题,适合可分解为多个子问题的题目 2. 编程题1. 讨论后+看了书本,我觉得也可以用最长公共子序列的方法来算,虽然我部分正确 编程题2. 阅读全文
posted @ 2018-11-04 23:19 +- 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 实践题目:数字三角形 问题描述: 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 算法描述 是一个动态规划的题目, 递归求解子问题,采用备忘录,避免重复计算子问题 m[i][j]= 阅读全文
posted @ 2018-11-04 22:43 +- 阅读(156) 评论(0) 推荐(0) 编辑
  2018年10月13日
摘要: 实践报告任选一题进行分析。内容包括: 1. 实践题目 2. 问题描述 3. 算法描述 4. 算法时间及空间复杂度分析(要有分析过程) 5. 心得体会(对本次实践收获及疑惑进行总结) 1,实践题目: 7-1 二分查找 (20 分) 输入n值(1<=n<=1000)、n 个非降序排列的整数以及要查找的数 阅读全文
posted @ 2018-10-13 22:15 +- 阅读(313) 评论(0) 推荐(0) 编辑
  2018年10月9日
摘要: 对于二分法,我觉得它看起来会更加地简洁明了和它把问题规模变小了,把一个大问题分成很多个小问题,降低了时间复杂度,提高了程序的运行速率;在我们面对很多编程问题的时候,都可以去运用这个算法。 编程能力不足,本人对于时间复杂度不是很掌握,和我的搭档在一起编程的话,会弥补彼此的一些不足之处,会在一起讨论题目 阅读全文
posted @ 2018-10-09 21:55 +- 阅读(123) 评论(0) 推荐(0) 编辑