随笔分类 - 3_算法和数据结构
摘要:C++排序 一、心得 有多个数据的,无脑排个序,会使问题好想很多 sort(数组起始指针,数组尾指针,排序规则); 二、排序详细 1、所需头文件: <algorithm> 2、排序方法: sort(数组起始指针,数组尾指针,排序规则); 数组起始指针,数组尾指针是左闭右开 排序规则可以省略,也可以用
阅读全文
摘要:动态规划3--Help Jimmy 一、心得 二、题目 三、分析 Jimmy跳到一块板上后,可以有两种选择,向左走,或向右走。走到左端和走到右端所需的时间,是很容易算的。如果我们能知道,以左端为起点到达地面的最短时间,和以右端为起点到达地面的最短时间,那么向左走还是向右走,就很容选择了。因此,整个问
阅读全文
摘要:动态规划2--最长公共子序列 最长公共子序列1:http://www.cnblogs.com/Renyi-Fan/p/6955352.html 一、心得 所有的回溯找路径:记录之前来的路径 二、题目 找两个字符串的最长公共子序列 char s1[MAXLEN]={"ABCBDAB"}; char s
阅读全文
摘要:动态规划1--最长公共子序列 一、动态规划 经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并 综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。 为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,
阅读全文
摘要:递归5--汉诺塔问题的栈实现 汉诺塔的递归解法:http://www.cnblogs.com/Renyi-Fan/p/6949515.html 一、心得 系统里面的递归就是靠栈来维护的,区别我们普通栈的是维护递归的那个栈有返回地址递归每深入一层,栈顶元素加一递归每退出一层,栈顶元素减一返回地址是执行
阅读全文
摘要:递归4--汉诺塔问题 一、总结: 1、递归终止条件n==1的时候移动的是第一块盘子, if(n==1){//只需移动一个盘子 cout<<src<<"->"<<dest<<" 移动的是第:"<<n<<" 块盘子"<<endl;//直接将盘子从src移动到dest即可 return ; } Hanoi
阅读全文
摘要:递归3--棋盘分割 一、总结: 怎么写出递推公式(完成百分之90):尝试分割,分析来源去向,从分析f(n)的时候注意分析f(n-1)记录表法(解决超时问题) 二、题目分析及代码:
阅读全文
摘要:头文件algorithm中的常用函数 一、非修改性序列操作(12个) 循环 对序列中的每个元素执行某操作 for_each() 查找 在序列中找出某个值的第一次出现的位置 find() 在序列中找出符合某谓词的第一个元素 find_if() 在序列中找出一子序列的最后一次出现的位置 find_end
阅读全文
摘要:递归1--小游戏 零:本题总结 1、回溯迷宫问题 2、扩充边界 一、递归基本思想 定义:函数直接或者间接调用自身应用场景:原问题复杂,但是可以划分成许多性质相同的子问题,子问题容易求解递归写法:1、先写出问题的递推公式 2、递归部分的边界条件就是递推公式中的边界条件 3、递归部分的主体部分就是递推公
阅读全文
摘要:枚举3--讨厌的青蛙 总结: 根据前两点枚举 提前排除其它不可能的情况 一、题目 题目问题描述:在一块被踩踏的田地里找寻被踩踏路径最长的一条道路,并输出被踩踏的稻田数目。其中:要求路线为直线(包括斜直线),至少有三颗稻子被踩到,每两颗被踩到的稻子之间的距离是相等的;输入为:第一行为总的行数r和列数c
阅读全文
摘要:枚举2--熄灯问题 总结: 因为互相关联性,从枚举所有层到只枚举第一层 一、题目: 有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。 每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。 即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的
阅读全文
摘要:枚举1--求小于n的最大素数 总结: 素数是不能被比它小的素数整除。 代码运行结果在注释里有。
阅读全文
摘要:递归C++ 一、递归简介 自己调用自己 二、递归写法 2.1 写法介绍 先写出问题的递推公式 递归部分的边界条件就是递推公式中的边界条件 递归部分的主体部分就是递推公式中的主体部分 2.2 实例 (1)题目 例如:求n!。 (2)分析 递归公式为 f(n)=f(n-1)*n f(1)=1; 对应的递
阅读全文
摘要:递推算法 一、递推算法简介 一般是两步: 1、根据题目条件推出递推公式 2、根据递推公式编写代码求解(一般可以写成普通循环和递归) 二、实例 2.1 斐波拉契数列 斐波拉契数列,1 1 2 3 5 8 13 21 34......,写出第n项。 (1)递推公式 f(n)=f(n-1)+f(n-2)
阅读全文

浙公网安备 33010602011771号