数据结构
aboatflow
无无
展开
-
N皇后问题
N皇后问题回溯法 N皇后问题是典型的回溯算法,在一个N*N的棋盘上放置N个皇后。当前放置的皇后,不能与前面已经放好的皇后冲突。判断当前位置合法的办法就是将当前放置位置与前面放置好的每个皇后的位置进行比较,如果不在一条直线或者一条斜线上,则放置皇后,否则寻找下一个位置放置。 #include <iostream> #include <vector> using namespa...原创 2019-08-20 10:58:37 · 111 阅读 · 0 评论 -
字典树实现
字典树实现字典树 字典树 #include <iostream> #include <vector> using namespace std; typedef struct TireNode{ bool isWord; TireNode* next[26]{}; TireNode() { isWord = false; ...原创 2019-08-15 16:21:49 · 126 阅读 · 0 评论 -
DFS入门算法
全排列算法思想伪代码全排列实现 算法思想 DFS是一种图搜索算法,常用在图遍历,其思想是从根节点出发,找第一个相邻节点,访问相邻节点并标记,然后找下一个相邻节点,重复上述操作,直到找不到没访问的相邻节点,然后进行回溯,直至所有节点遍历完成。 伪代码 //记录访问情况 visited[N]; void dfs(int step){ //到达边界条件返回 if(step>=N) ret ...原创 2019-08-16 00:00:40 · 222 阅读 · 0 评论 -
DFS图搜索
二维图搜索 #include <iostream> #include <vector> using namespace std; /*** * 一个二维矩阵组成的迷宫,1表示无法通行,0表示可通行,起点(x0,y0),终点(x1,y1),搜索所有可达路径。 * 输入M,N的二维矩阵,输入x0,y0,x1,y1,输出所有所有路径。 * ***/ int M,N; int...原创 2019-08-16 17:32:52 · 124 阅读 · 0 评论