图的定义 邻接矩阵 结构简单,操作方便 稀疏图将浪费大量的空间 邻接表 (类比 树 孩子表示法?) 操作复杂 注意邻接链表的结构体定义 不要搞混不要被绕晕啊! 嵌套太多了 有时用指针 还要看清给的int还是char typedef struct ArcNode { int adjvex; struc ...
分类:
其他好文 时间:
2020-06-14 18:36:30
阅读次数:
102
在极端情况下,图特别大,用邻接链表也会超空间限制,此时需要用到链式前向星来存图。 1 #include<bits/stdc++.h> 2 using namespace std; 3 4 const int inf = INT_MAX / 10; 5 const int num = ???; 6 s ...
分类:
其他好文 时间:
2020-01-30 22:54:25
阅读次数:
63
链式前向星,类似于头插法的邻接链表。 ①int tot:用于计算边的编号 ②head[MAX]:用来存储以i为起点的最新加入的边在edge[]中的存储位置 ③struct Node{ int to; int w; int next}; to表示终点;w是权值;next表示下一条边在edge[]数组中 ...
分类:
其他好文 时间:
2019-12-13 23:28:30
阅读次数:
137
栈 队列 链表与邻接链表 Hash 字符串 Trie 二叉堆 总结与练习 ...
分类:
其他好文 时间:
2019-10-10 13:01:32
阅读次数:
85
邻接链表存图,在这里其实是用数组进行模拟的 又叫做链式存储法,本来是要用链表实现的,但大多数情况下只需要用数组模拟即可 例: 话不多说,直接上代码 注:e[i]为一个结构体,负责记录每一条边的信息 总的来说,这是一种存图的方法,更是图论的基础 拓扑排序 拓扑排序是对有向无环图(Directed Ac ...
分类:
编程语言 时间:
2019-10-02 22:44:55
阅读次数:
139
1.图的表示方法 图:G=(V,E),V代表节点,E代表边。 图有两种表示方法:邻接链表和邻接矩阵 邻接链表因为在表示稀疏图(边的条数|E|远远小于|V|²的图)时非常紧凑而成为通常的选择。 如果需要快速判断任意两个节点之间是否有边相连,可能也需要使用邻接矩阵表示法。 邻接链表表示法的鲁棒性很高,可 ...
分类:
编程语言 时间:
2019-04-20 09:31:55
阅读次数:
130
【模板】最近公共祖先(LCA) 题意 给一个树,然后多次询问(a,b)的LCA 模板(主要参考一些大佬的模板) cpp include //自己的2点:树的邻接链表(静态)表示; lca 的倍增算法 //优化 log[] const int maxn=500010; int N,M,S;//S根节点 ...
分类:
其他好文 时间:
2018-08-24 23:41:27
阅读次数:
210
1.写了算法课关于有向图的作业。 用c++开辟大数组容易出segment fault,后来改用堆开辟。图的邻接表用了链表表示。 2.关于图的存储,用了邻接链表存储(用链表比vector数组存储速度快多了)。 2.1 边表 2.2 顶点表 2.3 初始化图边时用了头插法 3.深度优先搜索 3.1 递归 ...
分类:
编程语言 时间:
2018-05-06 22:23:21
阅读次数:
140
1.如果遇到需要处理小数(无论什么情况,只要出现了小数),空间足够的情况下用double,详见NOIP2016D2T2蚯蚓,不开double炸穿天。 2.计数时输出结果时用long long。 3.邻接链表存储图的时候first数组初始值一定要memset为-1。 4.数组开够就行了。 5.1既不是 ...
分类:
其他好文 时间:
2017-11-06 11:06:37
阅读次数:
210