摘要: 1.对回溯算法的理解 建立解空间数,通过暴力遍历树所有路径,得到结果。其中利用深度优先法搜索解空间,同时利用剪枝(约束函数、限界函数)避免移动到不可能产生解的子空间。 2.“子集和”问题的解空间结构和约束函数 5-1 子集和问题 (25分) 设集合S={x1,x2,…,xn}是一个正整数集合,c是一 阅读全文
posted @ 2019-12-18 19:41 yingni 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1.对贪心算法的理解 贪心算法是一种特殊的动态规划,只有当局部最优跟全局最优解一致的时候,贪心法才能给出正确的解,如何找到适合的贪心法是解题的关键。 2.请说明汽车加油问题的贪心选择性质 题目来源:王晓东《算法设计与分析》 一辆汽车加满油后可行驶 n公里。旅途中有若干个加油站。设计一个有效算法,指出 阅读全文
posted @ 2019-11-25 00:13 yingni 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 算法第四章上机实践报告 一、程序存储问题 1、实践题目及问题描述 2、算法描述 这道题要求在一定的磁带长度中存取最多的数目,由于每个程序长度之间并没有联系,所以先直接对程序的长度进行排序,然后从小到大进行将程序长度相加并与给定的磁带长度进行比较得到结果。 实践代码 #include <iostrea 阅读全文
posted @ 2019-11-18 19:15 yingni 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 1.对动态规划算法的理解 1).具有最优子结构和重叠子问题 2).后面的数据会对前面的结果产生影响 3).关键是找到正确的递归方程 2.列出编程题1、2的递归方程 编程题1 for (int i = 1 ; i < n ; i ++ ) { dp[i] = 1; for (int j = 0 ; j 阅读全文
posted @ 2019-11-03 21:51 yingni 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 7-2 最大子段和 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 输入格式: 输入有两行: 第一行是n值(1<=n<=1000 阅读全文
posted @ 2019-10-20 13:53 yingni 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 分治法思想: 分治分治,即分而治之。分治,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题……直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。如图所示: 优缺点分析: 优点:用分治算法主定理可得时间复杂度为O(nlogn),相同元素的顺序不会颠倒,是 阅读全文
posted @ 2019-10-14 18:19 yingni 阅读(2577) 评论(0) 推荐(0) 编辑
摘要: 一.实践题目 输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。 输入格式: 输入共三行: 第一行是n值; 第二行是n个整数; 第三行是x值。 输出格式: 输出x所在的下标(0~n 阅读全文
posted @ 2019-09-22 17:08 yingni 阅读(188) 评论(0) 推荐(0) 编辑
摘要: Google C++ 编码规范 Google C++ 编码规范很早就已经公开了,被认为是一份很好的代码规范。 Google C++ Style Guide是一份不错的C++编码指南,下面是其中的优点 Google C++ 编码规范中文版: http://zh-google-styleguide.re 阅读全文
posted @ 2019-09-02 00:41 yingni 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 写点东西记录一下,方便以后查看。 http://ctf.bugku.com/challenges web2: 签到题,花里胡哨的果断去看源码。。。。。 计算器: 发现只能输入一个数字,肯定是对提交的内容做了长度限制,打开开发者工具把长度改一下(如果好运的话如图就直接出结果) web基础$_GET: 阅读全文
posted @ 2019-01-30 00:12 yingni 阅读(4581) 评论(0) 推荐(0) 编辑
摘要: 目录: 薄弱的知识点 薄弱的知识点 有挑战性的题目 有挑战性的题目 薄弱的知识点: 段错误的原因 段错误的解决方法 段错误的原因 段错误的解决方法 有挑战性的题目: 1. PTA 10 7-4 从小到大输出字符串 任意输入三个字符串,按从小到大顺序输出。编程要求:⑴在主函数中定义三个字符数组str1 阅读全文
posted @ 2018-12-08 19:59 yingni 阅读(365) 评论(0) 推荐(0) 编辑