摘要:
1.回溯法其实就是穷举法,对每个个体的所有可能进行穷举。当然,根据不同问题,对每个物品的选择有限制, 通过回溯可以去除不符合条件的可能分支。比如在01背包问题中,由于存在重量的限制,若当前分支的总重量 已经超过了总重量,那就不必执行下去了,回溯到当前物品然后选择下一个可能的分支。 2.通过学习《算法 阅读全文
摘要:
1.你对贪心算法的理解 贪心问题必须存在最优子结构和极值,该问题的函数图像一般为单峰,因此每次只要选择当前最优解,累积到全问题,就可以 得到全问题的解。 2.请选择一道作业题目说明你的算法满足贪心选择性质 4-2 删数问题 :每次选择高位中递增的最大数删除,依次重复。结果要屏蔽前面的前置0 3.请说 阅读全文
摘要:
1.1 根据最优子结构性质,列出递归方程式 (1)删除操作,比如当 a[ 1 — i - 1 ]的字符与 b[ 1 — j ] 已经匹配好了,我们看向 a[i] ,如果此时若继续 a[ 1 — i ] 与 b[ 1 — j ]匹配,则执行删除操作,即删除 a[i] (2)添加操作,当 a[ 1 — 阅读全文
摘要:
(1)请谈一下你对分治法思想的体会 分治问题在于,把问题分成几个小问题,然后小问题再分成小问题。注意的是,分解后的问题与原问题保持一致性,即可以用相同的方法来解决。但值得注意, 在使用递归进行分治时,要处理好函数的返回条件,避免死循环。使用分治思想,基本可以把时间复杂度控制在O(nlogn)。 (2 阅读全文
摘要:
(1)实践题目: 最长子列和 (2)题目描述: 给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列 { -2, 阅读全文
摘要:
经过一个学年的编程学习,我已经系统的掌握了c++和Java的基本语法,但是对于标准的编程规范,还需要专门的了解和学习。https://blog.csdn.net/weixin_42488570/article/details/80775727(这个链接是大佬归纳的标准编程习惯),我认为一个良好的编程 阅读全文