首先java中也是有Pair类可以直接用的。在图或者相关问题中可以派上用场。 其次就是Dijkstra算法。这个算法我是看过,而且今天周赛这题(leetc5211)是挺容易想到该算法,但是我以前只看过没写过,导致我上午打开浏览器现学,结果算法学会了之后发现用邻接矩阵超内存限制,然后只好现学邻接表,学 ...
分类:
其他好文 时间:
2020-07-12 18:43:35
阅读次数:
67
图的邻接矩阵存储 源程序 #include <stdio.h>#include <stdlib.h> const int vnum=20; //定义图的类型typedef struct gp{ char verx[vnum]; int arcs[vnum][vnum]; int vernum,arc ...
分类:
其他好文 时间:
2020-07-12 17:06:40
阅读次数:
48
图的带权邻接矩阵存储 源程序: #include <stdio.h>#include <stdlib.h>#define VNUM 20const int MAX_INT=0; //图的类型定义typedef struct gp{ char vexs[VNUM]; int arcs[VNUM][VN ...
分类:
其他好文 时间:
2020-07-12 16:30:10
阅读次数:
54
双链表一个节点里面有两个指针,一个指向左边,一个指向右边 不定义头结点和尾结点了 令下标是0的点表示head 令下标是1的点表示tail 邻接表的知识:把每个点的所有邻边全部存下来 邻接表就是n个单链表 head[i]存储第i个点的邻边 1 #include <bits/stdc++.h> 2 us ...
分类:
其他好文 时间:
2020-07-11 19:14:03
阅读次数:
46
数组模拟单链表,图论的基础 单链表用的最多的是邻接表,邻接表是n个单链表,邻接表是树和图的存储方式 单链表 >> 邻接表 >> 存储树和图 单链表开始时是head指向空节点 插入元素后长这样 每个节点存储两个值 值:val 指针:next 然后用数组模拟就需要定义几个数组 e[N]:存储每个节点的v ...
分类:
其他好文 时间:
2020-07-11 17:43:21
阅读次数:
62
1134 Vertex Cover (25分) A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at least one vertex of the set. ...
分类:
其他好文 时间:
2020-07-10 18:36:42
阅读次数:
69
周数 专业学习目标 专业学习时间 新增代码 博客发表量 知识技能总结 第八周 掌握数据结构与算法 6h 150h 1 了解二叉树的创建与遍历的递归思想 第九周 掌握数据结构与算法 8h 130h 1 掌握二叉树的查找 第十周 掌握数据结构与算法 7h 160h 1 学习l哈尔曼树 第十一周 掌握数据 ...
分类:
其他好文 时间:
2020-07-10 11:29:21
阅读次数:
96
class Solution { public: vector<int> gardenNoAdj(int N, vector<vector<int>>& paths) { vector<int> G[N]; for (int i=0; i<paths.size(); i++){//建立邻接表 G[p ...
分类:
其他好文 时间:
2020-07-08 19:35:09
阅读次数:
62
这是一篇我犯过的各种弱智错误的合集,记录下来以备后用 1.scanf("%d",a); 2.BFS忘记设置队头元素; 3.BFS时忘记每次循环结束后head++ 3.并查集的使用:fa[find(x)] = find(y); 4.(经常导致段错误)邻接表遍历,循环时一顿操作最后忘记将当前边指针指向下 ...
分类:
其他好文 时间:
2020-07-03 21:23:44
阅读次数:
69
邻接矩阵存储图,n<= 100, 使用多源最短路算法Floyd算法(\(O(n^3)\)),求出重要城市之间最短路径。 遍历所有可能的配对,找出最小路径代价。具体的,求出所有重要城市的全排列,让相邻两城市配对,累加路径代价,再更新最小代价。 import java.util.*; public cl ...
分类:
其他好文 时间:
2020-07-01 22:05:20
阅读次数:
69