2019年12月24日

摘要: 1. 你对回溯算法的理解 回溯算法就是把每一项解决方案的结果都作对比,因为他是每个分支末点都可以涉及到,最后进行比较,得出最优解。不同于动态规划与贪心算法,他具有遍历其他分支点的特点。然后就是通过剪枝,可以让遍历的分支变少,从而加快速度 2.请说明“子集和”问题的解空间结构和约束函数 解空间结构: 阅读全文

posted @ 2019-12-24 22:29 橘猫 阅读(101) 评论(0) 推荐(0) 编辑

2019年11月26日

摘要: 算法第四章作业 对贪心算法的理解 总而言之,贪心算法的核心就是“贪心”,即每一步都要达到当前情况的局部最优解。这样做的效果就是能够保证每一步做出的选择都是当前最优解,从而无限接近真实的最优解。 这样做比分治法的效率更高,而且只要同时满足贪心选择性质和最优子结构性质,基本上就能证明贪心算法所得出的结果 阅读全文

posted @ 2019-11-26 18:59 橘猫 阅读(76) 评论(0) 推荐(0) 编辑

2019年11月16日

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

posted @ 2019-11-16 11:25 橘猫 阅读(235) 评论(0) 推荐(0) 编辑

2019年11月3日

摘要: 算法第三章作业 一、 对动态规划算法的理解 (1) 找出最优解的性质,并刻画其结构特征; (2) 递归地定义最优值; (3) 以自底向上的方式计算最优值; (4) 根据计算最优值时得到的信息,构造最优解。 二、 编程题1和编程题2的递归方程 3-1 m[ i ] = a[ i ] i = 0; ma 阅读全文

posted @ 2019-11-03 10:19 橘猫 阅读(93) 评论(0) 推荐(0) 编辑

2019年10月21日

摘要: 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 创建两个数组,一个数组用于存放数字三角形,一个用于存放从底端开始到达某个元素的最大路径(只创建一个数组也是可以的,然后将结果不断覆盖) 阅读全文

posted @ 2019-10-21 23:34 橘猫 阅读(111) 评论(0) 推荐(0) 编辑

2019年10月15日

摘要: 二分法 事实上,二分算法可以说是分治法的一部分,一般称之为二分搜索技术。二分搜索算法的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与x作比较,以此类推,知道得到想要的结果。 二分搜索法有一个很重要的前提,就是使用二分搜索的数据必须是有序的,如果是一堆无序的数组,还需要事先编写一个排序 阅读全文

posted @ 2019-10-15 21:53 橘猫 阅读(201) 评论(0) 推荐(0) 编辑

2019年9月22日

摘要: 内容目录: 一、实践题目 设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组中的位置。 二、问题描述 1. 使用二分搜索算法; 2. 在经典二分搜索算法的基础上进行改写,搜索 阅读全文

posted @ 2019-09-22 00:35 橘猫 阅读(184) 评论(0) 推荐(0) 编辑

2019年9月1日

摘要: 一、 说明 为了规范Python代码的书写,提高代码的可读性,使编码人员在代码上更好的协作,制定了本规范。 编码规范的作用: 提高可读性 ——“任何一个傻瓜都能写出计算机可以理解的代码,唯有写出人类容易理解的代码,才是优秀的程序员。”编码规范,帮助我们写出人类容易理解的代码。 统一全局,促进团队协作 阅读全文

posted @ 2019-09-01 14:17 橘猫 阅读(379) 评论(0) 推荐(0) 编辑