图
文章平均质量分 65
图
山顶夕景
实践出真知
展开
-
【LeetCode79】单词搜索(DFS回溯综合)
1.题目2.思路(1)可以复习【1091】三维&二维BFS&复习这篇,在这篇的方向移动处理是设置2个数组(x轴、y轴),也可以换成2维vector数组,也可以vector<pair<int,int>>即对于每个pair对的元素引用是first,second。【LeetCode5665】从相邻元素对还原数组。(2)只要有一处返回true,就能说明二维数组中能找到对应的单词;(3)二维visited数组和board数组大小相同(在exist函数里就要设置好大小原创 2021-02-10 23:04:40 · 745 阅读 · 0 评论 -
【1091】三维&二维BFS&复习
1.题目https://pintia.cn/problem-sets/994805342720868352/problems/994805375457411072给出一个2.思路由于是三维矩阵,需要3.代码#include<iostream>#include<stdio.h>#include<stdlib.h>#include<queue> using namespace std; //利用BFS遍历,找到卒中核心块struct no原创 2021-01-15 21:38:27 · 800 阅读 · 3 评论 -
Floyd算法&Prim算法
一、Floyd算法解决全源最短路径问题——求任意两点u、v之间的最短路径长度,dis[i][j]表示从顶点i到顶点j的最短距离,伪代码如下:枚举顶点k 以顶点k作为中介点,枚举所有顶点对i和j 如果dis[i][k]+dis[k][j]<dis[i][j]成立 赋值dis[i][j]=dis[i][k]+dis[k][j]小栗子#include<cstdio>#include<algorithm>using namespace std;const i原创 2021-01-21 10:19:07 · 979 阅读 · 0 评论 -
【1013】Battle Over Cities (求连通分量数)
1.题目https://pintia.cn/problem-sets/994805342720868352/problems/994805500414115840给出一个无向图,当删除图中的某个顶点时,将会同时把与之连接的边一起删除,接下来给出k次查询(每次查询给出一个欲删除的顶点编号),求删除该顶点(包括与该结点连接的所有的边也要删除)后需要增加多少条边,才能使图变连通。(k次查询均在原图上进行)。2.思路因为是无向图,所以在读入数据时要将两个方向的边都进行存储。需要添加的边数=删除该点后的连通原创 2021-01-20 00:29:25 · 667 阅读 · 0 评论 -
图-基础总结
一、图的存储1.邻接矩阵二维数组G[i][j],若是无向图,则G[i][j]=1表示i和j点之间存在边;若不存在的边可以设边权为0、-1或是一个很大的数。缺点:邻接矩阵只适用于顶点数不大(不超过1000)。2.邻接表顶点数较大(1000以上)的图就用邻接表存储。Adj[i]存放顶点i的所有【出边】组成的列表。(1)若邻接表只存放每条边的终点编号(不存放边权),则vector中的元素类型可以直接定义为int型:vector<int> Adj[N]。(2)如果要添加从1号结点到3号结原创 2021-01-19 17:05:09 · 715 阅读 · 0 评论 -
DFS(二)
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<math.h>#include<string.h>#include<algorithm> #include<map>#include<vector>#inclu...原创 2020-01-17 15:30:47 · 428 阅读 · 0 评论 -
DFS(一)
使用场景输入数据:如果是递归数据结构,如单链表,二叉树,集合,则一定可以用DFS;如果是非递归数据结构,如一维数组,二维数组,字符串,图,则概率小一点。状态转换图:树或图求解目标:必须要走到最深(如树,必须走到叶结点)才能得到一个解,这种情况适合用DFS思考的步骤1.是求路径条数,还是路径本身(或动作序列)?DFS最常见的三个问题,求可行解的总数,求一个可行解,求所有可行解...原创 2020-01-07 00:00:03 · 1030 阅读 · 0 评论 -
Dijkstra模板
//n为顶点数,m为边数,st和ed分别为起点和终点//G为距离矩阵,cost为花费矩阵//d[]记录最短距离,minCost记录最短路径上的最小花费const int MAXV=510;//最大顶点数const int INF=1000000000;//无穷大int n,m,st,ed,G[MAXV][MAXV],cost[MAXV][MAXV];int d[MAXV],min...原创 2020-01-20 22:24:18 · 628 阅读 · 0 评论