搜索与图论
文章平均质量分 62
11
勇敢nn
用心去打造每一份美好
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二分图算法总结
二分图的经典例题原创 2022-07-13 14:48:13 · 346 阅读 · 0 评论 -
dfs+剪枝+递归
木棒原创 2022-05-13 16:49:31 · 721 阅读 · 3 评论 -
二分经典例题
这个题正好对应整数二分的两个模板,一个是[l,mid],[mid+1,r],另一个是[l,mid-1],[mid,r],需要注意的是,在使用第二中情况时,mid=(l+r+1)/2,如果不加1,当l与r相差一位时会进入死循环。原创 2021-08-06 11:09:59 · 430 阅读 · 0 评论 -
二叉树基础算法
1.中序+后序7-70 树的遍历 (25 分)输入:72 3 1 5 7 6 4 后序遍历1 2 3 4 5 6 7 中序遍历输出:4 1 6 3 5 7 2 层次遍历#include<iostream>#include<cstring>using namespace std;int n;int in[100010],post[100010],level[100010];void dfs(int l,int r,int root,int ind原创 2022-04-18 18:04:04 · 1078 阅读 · 0 评论 -
DFS深度优先搜索
1.全排列#include<bits/stdc++.h>using namespace std;const int N=10;int n;int path[N];bool st[N];void dfs(int u){ if(u==n) { for(int i=0; i<n; i++) printf("%d ",path[i]); printf("\n"); return; }原创 2021-08-06 21:15:37 · 471 阅读 · 0 评论 -
BFS广度优先搜素
1.走迷宫题目描述:给定一个 n×m 的二维整数数组,用来表示一个迷宫,数组中只包含 0 或 1,其中 0 表示可以走的路,1 表示不可通过的墙壁。最初,有一个人位于左上角 (1,1) 处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。请问,该人从左上角移动至右下角 (n,m) 处,至少需要移动多少次。数据保证 (1,1) 处和 (n,m) 处的数字为 0,且一定至少存在一条通路。测试样例:输入:5 50 1 0 0 00 1 0 1 00 0 0 0 00 1 1 1 00原创 2021-09-14 21:09:49 · 169 阅读 · 0 评论 -
图论经典算法总结
1.链表#include<iostream>#include<cstring>using namespace std;int e[100],ne[100],h[100],idx;bool has_fa[100];void add(int a,int b){ e[idx]=b;//idx为b的下标 ne[idx]=h[a];//让b指向a原来指的地方,ne与h都是寻找下一个结点的下标,不同的地方在于:ne是通过下标来寻找,而h是通过值来寻找 h原创 2022-02-21 14:56:51 · 868 阅读 · 0 评论
分享