2018年12月24日

算法第五章作业

摘要: 1.理解:回溯法按深度优先策略搜索问题的解空间树。首先从根节点出发搜索解空间树,当算法搜索至解空间树的某一节点时,先利用剪枝函数判断该节点是否可行(即能得到问题的解)。如果不可行,则跳过对该节点为根的子树的搜索,逐层向其祖先节点回溯;否则,进入该子树,继续按深度优先策略搜索。回溯法的基本行为是搜索, 阅读全文

posted @ 2018-12-24 23:28 李鉴涛 阅读(90) 评论(0) 推荐(0) 编辑

2018年12月21日

算法第五章上机实践

摘要: 实践题目:工作分配问题 问题描述:设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 算法描述: 解空间树: 剪纸:将当前花费与当前最优解进行比较。 具体算法: #include<iostr 阅读全文

posted @ 2018-12-21 19:44 李鉴涛 阅读(94) 评论(0) 推荐(0) 编辑

2018年12月2日

算法第四章作业

摘要: 贪心算法的理解:贪心算法通过一系列的选择来得到问题的解。它所做的每一个选择都是当前状态下局部最好选择,贪心算法更简单,解题效率也更高,在许多问题中它都能给出整体最优解。 汽车加油问题贪心选择性质:汽车一次加油所能前进的里程数是一定的,且每次给汽车加油都能加满即刷新可走里程数,而汽车从第一个加油站出发 阅读全文

posted @ 2018-12-02 13:19 李鉴涛 阅读(96) 评论(0) 推荐(0) 编辑

算法第四章实践报告

摘要: 实践题目:程序存储问题 问题描述:设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储 阅读全文

posted @ 2018-12-02 12:17 李鉴涛 阅读(79) 评论(0) 推荐(0) 编辑

2018年11月4日

算法第三章作业

摘要: 我对动态规划的理解:动态规划与分治法相似,都是要将待求解问题分解成若干个子问题,先求子问题,然后从子问题的解得到原问题的解。但是适用于动态规划的问题,经分解得到的子问题不是相互独立的。我们在通过动态规划解决子问题的时候,用一个表来记录已解决的子问题的答案,将子问题的答案填入表中。动态规划适用于解最优 阅读全文

posted @ 2018-11-04 23:00 李鉴涛 阅读(90) 评论(0) 推荐(0) 编辑

第三章实践报告

摘要: 实践题目:数字三角形 问题描述:给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 算法描述:本题可通过动态规划,将每一条路线的最优解保存在表格中,一步步由底至上找到最优。首先应该画出数 阅读全文

posted @ 2018-11-04 20:22 李鉴涛 阅读(128) 评论(0) 推荐(0) 编辑

2018年10月14日

算法第二章上机实践报告

摘要: 1.实践题目:输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 2.问题描述:通过二分搜索技术,找出数组中与x数值相等的数字,然后输出该数字在数组中的下标,若当left大于rig 阅读全文

posted @ 2018-10-14 13:41 李鉴涛 阅读(93) 评论(0) 推荐(0) 编辑

第二章作业心得

摘要: 本章学习了二分算法。二分搜索算法是一种非常简便的查找算法。在二分查找算法中,每次都是通过折半方式一步步“逼近”所需查找的数。例如,第一次查找时用待查元素N与数组中间数字Array[Middle]对比,若大于该中间数则从左半边查找,若小于该中间数则从右半边查找,直到查出所需查数字。但二分搜索算法自有其 阅读全文

posted @ 2018-10-14 13:27 李鉴涛 阅读(103) 评论(0) 推荐(0) 编辑

导航