微信扫一扫打赏支持

随笔分类 -  3_算法和数据结构

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

上一页 1 ··· 13 14 15 16 17