摘要: 1. 你对回溯算法的理解 回溯算法就是将问题的每一种可能解组织成一个解空间,然后遍历问题的解空间,比较得出最优解。 2.请说明“子集和”问题的解空间结构和约束函数 集合中的每一个数都有两种操作可能,分别是放进子集和不放进子集。依靠两种情况,形成一棵解空间的二叉树,树的结点表示到当前放入子集的数的情况 阅读全文
posted @ 2019-12-11 22:07 miamigo 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 1、你对贪心算法的理解 贪心算法就是每一步都选择最优的,从而问题最终取得最优解。如果一个问题具有贪心选择性质和最优子结构性质,那么使用贪心法来对其求解总能求得最优解。 2、请说明汽车加油问题的贪心选择性质 当汽车所剩油量不能到达下一个加油站时就加油,否则不加。 3、请说明在本章学习过程中遇到的问题及 阅读全文
posted @ 2019-11-22 18:29 miamigo 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 实践题目 4-2 删数问题 问题描述 给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新 的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最 小的删数方案。 算法描述 用一个字符串记录输入的正整数。每一次删掉的数字是当前字符串从高位开始往 阅读全文
posted @ 2019-11-15 19:23 miamigo 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 1. 你对动态规划算法的理解 动态规划法是当要求解一个问题的时候先求解规模小的同类问题,先求解相对简单的问题,然后利用小规模问题的结果求解较大规模的问题,最终得到答案。 2. 分别列出编程题1、2的递归方程 第一题:L[i]=Max{L[j]+1} (j<i<=n且a[i]>a[j]) 第二题:re 阅读全文
posted @ 2019-10-27 20:37 miamigo 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 1、实践题目 7-2 最大子段和 2、问题描述 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 3、算法描述 这一题采用动态规划 阅读全文
posted @ 2019-10-17 19:32 miamigo 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 1、对分治法思想的体会 分治法就是将一个问题不断分割成一个个更小的同类小问题,通过求解小问题,最后整合在在一起成为目标问题的解。小问题解起来比较起未分割的最终求解问题更方便简单,以此减少运算量,达到提高效率的效果。 2、结对编程情况汇报 我和我的队友在结对编程的过程中互相交流、相互激发思维。在结对编 阅读全文
posted @ 2019-10-11 00:15 miamigo 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 7-1 二分查找 问题描述: 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 算法描述: 对有序数列进行二分查找。每一次取数列的中位数与目标数比较,如相等直接输出,若小于目标数 阅读全文
posted @ 2019-09-25 17:49 miamigo 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 编码规范https://blog.csdn.net/p942005405/article/details/80282572 吴军博士的《数学之美》一书中有提到:“数学是解决信息检索和自然语言处理的最好工具。它能非常清晰地描述这些领域的实际问题并且给出漂亮的解决办法。”解决问题的时候,寻其解决办法的时 阅读全文
posted @ 2019-09-02 12:47 miamigo 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 1. 薄弱知识点在于:指针变量做参数的函数的运用。在做作业的时候就体现出来了。具体是不清楚变量之间的关系。 2. 比较有挑战的是联系7里面的“数列求和加强版”。题目要求:给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A= 阅读全文
posted @ 2018-11-25 16:39 miamigo 阅读(107) 评论(0) 推荐(0) 编辑
摘要: Q1:学习《C++语言程序设计》课程之前,你知道什么是编程吗?谈谈上这门课之前你对编程的理解,以及你对自己编程能力的评估。 A1: 不清楚知道。编程就是要用特定的计算机语言向计算机传达指令并让计算机执行。我认为自己的编程能力还只是处于一个刚入门的阶段。 Q2:学习《C++语言程序设计》课程两周后,你 阅读全文
posted @ 2018-10-05 13:51 miamigo 阅读(122) 评论(0) 推荐(0) 编辑