摘要: 1.实践题目 (工作分配问题) 7-2 工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来 阅读全文
posted @ 2018-12-23 14:31 lasia_LWL 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 1.你对回溯算法的理解(2分) 回溯法是一个既带有系统性又带有跳跃性的搜索算法。它在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间的任一结点时,先判断该结点是否包含问题的解。如果肯定不包含,则跳过对以该结点为根的子树的搜索,逐层向其祖先结点回溯。否则,进入该子树,继续按 阅读全文
posted @ 2018-12-23 13:57 lasia_LWL 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 1 目前自己学习中存在的薄弱的知识点具体有哪些?每个薄弱的知识点都是如何获知的,每个薄弱的知识点需要列举具体的例子说明。(5分) 2 从第五章函数到第七章数组的函数题和编程题(主要是在PTA)中选出至少一道你觉得比较有挑战的题(已解决且不是奇奇的题)。写出解题报告包括:(1)题目大意;(2)解题思路 阅读全文
posted @ 2018-12-08 19:41 lasia_LWL 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 7-2 删数问题 2.问题描述 给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新 的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最 小的删数方案。 3.算法描述 4.算法时间及空间复杂度分析 需用到一个空间去存储字符串, 阅读全文
posted @ 2018-12-02 11:58 lasia_LWL 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 1.你对贪心算法的理解 贪心算法是通过一系列的选择来得到问题的解。它所做的每一个选择都是当前状态下局部最好选择,既贪心选择。 重要性质: 贪心选择性质:指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。动态规 阅读全文
posted @ 2018-12-02 11:30 lasia_LWL 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目 7-1 数字三角形 2.问题描述 给定一个由 n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大。 3.算法描述 设 a[ i ] [ k ]表示数字三角形中的第 i 行第 k 个点。 阅读全文
posted @ 2018-11-11 22:58 lasia_LWL 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 1.对动态规划算法的理解 基本思想: 动态规划算法与分治法类似,其基本思想也是将待求解的问题分解成若干个子问题,先求子问题,然后从这些子问题的解得到原问题的解,但是,适合动态规划法求解的问题,经分解得到的子问题往往不是互相独立的。同时也会存在有些子问题被重复计算了很多次,为了避免大量的重复计算,从而 阅读全文
posted @ 2018-10-28 23:43 lasia_LWL 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 1.对二分算法的理解: 先对元素进行升序排列,利用它们间的次序关系,可在最坏情况下用O(logn)(2为底) 时间完成搜索任务。 基本思想:将n个元素分成大致相同的两半,取中间元素作为比较比较对象,若给定值与中间元素的关键字相等,则查找成功;若给定值小于中间元素的关键字,则在左半区继续查找;若中间元 阅读全文
posted @ 2018-10-21 21:35 lasia_LWL 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 1.实践题目:7-1 二分查找 2.问题描述:输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 3.算法描述: 将n个元素分成个数大致相同的两份,取a[n/2]与x比较。 若x= 阅读全文
posted @ 2018-10-21 20:42 lasia_LWL 阅读(156) 评论(0) 推荐(0) 编辑
摘要: Q1: 学习《C++语言程序设计》课程之前,我已经学习过java和python语言,可以说对编程有一定的认识,并且编程能力还是不错的。 编程就像是在解数学题,只是把解题步骤告诉给计算机,让计算机去解题。而我们跟计算机沟通就是通过计算机语言,我们把解题的步骤按一定序列和规则用计算机语言描述出来,然后就 阅读全文
posted @ 2018-10-05 22:54 lasia_LWL 阅读(161) 评论(1) 推荐(0) 编辑