摘要: 一. 对回溯法的理解 1.首先需要构造解空间树:子集树和排列树; 2.以深度优先的方式搜索解空间:递归或迭代; 3.设计剪枝函数避免无效搜索:使用约束函数,剪去不满足约束条件的路径或使用限界函数,剪去不能得到最优解的路径。 回溯法解问题的一个显著特征是,解空间树是虚拟的,在任何时候,只需保存从根节点 阅读全文
posted @ 2020-12-19 20:19 郝梓呈 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 1.单调递增最长子序列 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。 输入格式: 输入有两行: 第一行:n,代表要输入的数列的个数 第二行:n个数,数字之间用空格格开 输出格式: 最长单调递增子序列的长度 输入样例: 在这里给出一组输入。例如: 5 1 3 5 2 9 阅读全文
posted @ 2020-10-27 17:22 郝梓呈 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目:最大子列和问题 问题描述: 给定K个整数组成的序列{ N​1​​, N​2​​, ..., N​K​​ },“连续子列”被定义为{ N​i​​, N​i+1​​, ..., N​j​​ },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11 阅读全文
posted @ 2020-10-10 11:14 郝梓呈 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 1. 思想:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。策略:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原 阅读全文
posted @ 2020-10-06 19:04 郝梓呈 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 一.代码规范 本学期的代码我将遵循Google C++编程规范。 链接:https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/ 二.算法在软件工程中的作用 在《数学之美》中提到了,这本书的目的在于讲道理 阅读全文
posted @ 2020-09-19 20:39 郝梓呈 阅读(125) 评论(0) 推荐(0) 编辑