2.1 最基础的“穷竭搜索”
来源:互联网 发布:linux修改ip的命令 编辑:程序博客网 时间:2024/06/06 04:03
递归函数
斐波那契数列中的递归,有许多项会反复出现,可以将他们存在数组里。
int memo[MAX_N]int fib(int n){ if (n <= 1) return n; if (memo[n] != 0) return memo[n]; return memo[n] = fib(n-1) + fib(n-2);}
栈
实现数据后入先出
#include<stack>#include<cstdio>using namespace std;int main(){ stack<int> s; //声明储存int类型的栈 s.push(1); //{} -> {1} s.push(2); //{1} -> {1,2} s.push(3); //{1,2} -> {1,2,3} printf("%d",s.top()); // 3 s.pop() //从栈顶移除3 return 0;}
队列
实现数据先入先出,用于暂时按顺序存储数据。
#include<cstdio>#include<queue>using namespace std;int main(){ queue<int> que; //声明int类型的队列 que.push(1); //{}->{1} que.front(); //队首元素 que.pop(); //从队首弹出一个元素 return 0;}
深度优先搜索
它从某个状态开始,不断地转移知道无法转移为止,然后回到前一个状态,继续转移到其他状态,如此反复不断。例如数独。
Lake Counting (POJ No,2386)
宽度优先搜索
它是按照初始状态->只需一次就可以转移到的状态->需要两次。。。。
复杂度为 O(状态数x转移方式)
例如迷宫问题。
特殊状态的枚举
next_permutation 函数
剪枝
在递归搜索中,把没有必要的搜索去掉。
例题
Red and Black
Curling 2.0
0 0
- 2.1 最基础的“穷竭搜索”
- 2.1 最基础的“穷竭搜索”
- 《挑战程序设计竞赛》2.1最基础的“穷竭搜索”
- 《挑战程序设计竞赛》2.1 最基础的穷竭搜索
- 最基础的“穷竭搜索”(递归)
- 挑战程序设计竞赛-初出茅庐(最基础的“穷竭搜索”)
- 最基础的“穷竭搜索”(2,栈)
- 最基础的“穷竭搜索”(3,队列)
- 《挑战程序设计竞赛》2.1 最基础的“穷竭算法“
- 2.1穷竭搜索
- 2.1 穷竭搜索(DFS)
- 穷竭搜索
- 穷竭搜索
- 穷竭搜索
- 穷竭搜索
- 2.1 穷竭搜索(递归,栈,队列)
- poj1852 Ants 穷竭搜索
- (七)穷竭搜索
- 编译JDK
- java开发环境的搭建
- npm安装create-react-app出现“Error: EACCES: permission denied”的解决办法
- Angular2 依赖注入之实例化过程
- 循环神经网络RNN在自然语言处理领域的应用
- 2.1 最基础的“穷竭搜索”
- php生成器使用总结
- Python学习笔记17
- 微信小程序实例:创建下发模板消息实例
- bzoj3809: Gty的二逼妹子序列
- Linux命令笔记
- spring在web.xml中的三种配置
- 解决方案、项目、程序集、命名空间
- Java设计模式(一) 简单工厂模式不简单