摘要: 1. 你对贪心算法的理解: 贪心算法具有两个性质:(1)最优子结构性质:最优解 包含其子问题的最优解。(2)贪心选择性质:总是做出当前最优的选择。 贪心算法总是做出当前最优的选择,对于许多问题可以得到整体最优解。满足贪心算法的两个性质一定可以得到整体最优解,但是满足整体最优解,不一定是用贪心算法做到 阅读全文
posted @ 2019-11-21 15:00 长夜85 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 1. 你对动态规划算法的理解(2分) 动态规划是把待求解的问题分解成若干个子问题,每个子问题求解一次,用一个表记录每个子问题的解然后从子问题的解中找到原问题的解。 解题思路是:(1)找出最优解的性质,刻画其结构特征;(2)递归地定义最优值;(3)以自底向上的方式计算最优值;(4)根据计算最优值时得到 阅读全文
posted @ 2019-11-03 09:54 长夜85 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 1. 实践题目 数字三角形 2. 问题描述 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 输入格式: 输入有n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100。 接下 阅读全文
posted @ 2019-10-21 23:42 长夜85 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 分治法思想:分治法就是把大的问题分解成小的问题,进而解决小的问题,再合并解。需满足最优子结构和重叠子问题两个条件。 结对编程:这种做题方式很好,自己想不出来的时候可以和队友讨论,做题的印象也比较深刻,相比一个人做题,这种方式能更好地理解算法思想。 阅读全文
posted @ 2019-10-15 23:38 长夜85 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 1. 实践题目 二分查找 2. 问题描述 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 输入格式: 输入共三行: 第一行是n值; 第二行是n个整数; 第三行是x值。 输出格式 阅读全文
posted @ 2019-09-26 22:29 长夜85 阅读(160) 评论(0) 推荐(0) 编辑