摘要: 1、回溯算法 回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思路是:暴力算法的改进,在通过遍历所有路径基础上,通过回溯(往回找)筛除不可能的路径,提高效率。 一般解题思路: 1.确定一个解空间,它包含问题的解; 2.利用适于搜索的方法组织解空间; 3.利用深度优先法搜索解空间; 阅读全文
posted @ 2020-12-17 21:05 郑淑晴 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1.对贪心算法的理解 贪心算法其实很简单,关键是找出最优的贪心方法,保证最多,然后用代码实现就好啦。可能有些难度的就是有些问题并不容易找到最优的贪心法则,就要我们多尝试,举反例,最终找到正确的那一个。 2.程序存储问题 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上 阅读全文
posted @ 2020-11-10 11:29 郑淑晴 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 单调递增最长子序列 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。 输入格式: 输入有两行: 第一行:n,代表要输入的数列的个数 第二行:n个数,数字之间用空格格开 输出格式: 最长单调递增子序列的长度 输入样例: 5 1 3 5 2 9 输出 4 1.1 根据最优子结构 阅读全文
posted @ 2020-11-01 11:12 郑淑晴 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 一 、实践题目 最大子列和问题 二、题目描述 给定K个整数组成的序列{ N​1​​, N​2​​, ..., N​K​​ },“连续子列”被定义为{ N​i​​, N​i+1​​, ..., N​j​​ },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ 阅读全文
posted @ 2020-10-02 19:54 郑淑晴 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 1.分治思想感悟 分治法即对一个很大规模的问题进行分解,得到若干个规模更小的子问题,对子问题单独求解并合并子问题答案得到原问题答案的方法。 用分治法解决最大连续子段和,大整数的乘法运算,矩阵乘法,棋盘覆盖等问题,让我感受到了分治法在解决有规则的复杂问题的简单方便,但是,使用分治算法需要巧妙地分解和设 阅读全文
posted @ 2020-10-02 17:06 郑淑晴 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 1.编码规范 遵循规则如下 1.头文件 对于C语言来说,头文件的设计体现了大部分的系统设计,不合理的头文件布局是编译时间过长的原因。 有很多人将工程中所有的头文件包含在一个include.h文件中,然后在每一个.c源代码文件中包含include.h头文件,这样做可以让代码看上去简洁,但实际忽视了编译 阅读全文
posted @ 2020-09-19 10:22 郑淑晴 阅读(117) 评论(0) 推荐(0) 编辑