#数组 数组的基本概念 从逻辑结构上看,一维数组A是n(n>1)个相同类型数据 元素a1、a2、…、an构成的有限序列,其逻辑表示为:A=(a1,a2,…,an)其中,ai(1≤i≤n)表示数组A的第i个元素。 ####数组的存储结构 将数组的所有元素存储在一块地址连续的内存单元中,这是一种顺序存储 ...
分类:
编程语言 时间:
2020-05-29 20:56:40
阅读次数:
59
树与图的存储 树是一种特殊的图,与图的存储方式相同。对于无向图中的边ab,存储两条有向边a->b, b->a。因此我们可以只考虑有向图的存储。 (1) 邻接矩阵:g[a][b] 存储边a->b (2) 邻接表: // 对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点 ...
分类:
其他好文 时间:
2020-05-24 14:06:38
阅读次数:
62
题意 :给你$n$个顶点和$m$条边,问它们有多少个单环(无杂环),例如图中第二个就是一个杂环. 题解 :不难发现,如果某几个点能够构成单环,那么每个点一定只能连两条边.所以我们先构建邻接表,然后从某个数开始跑dfs,如果这一边所有点的度数都为$2$,那么就能构成一个单环. 代码 : ...
分类:
其他好文 时间:
2020-05-20 18:34:55
阅读次数:
42
1 与课程表那个题很类似,建立图的邻接表和度数表,每次遍历度数为1的点,每遍历一个就更新度数表,并判断更新的点度数是否变为1了,如果为1了,则下一轮遍历,最后一轮遍历的即为结果,这个题和拓扑排序课程表类似,关键是对节点的度的理解,对图问题,一定要学会建邻接表和度数表, 310. 最小高度树 ...
分类:
其他好文 时间:
2020-05-18 16:30:49
阅读次数:
62
算法简述 SPFA算法其实是bellman-ford算法的队列优化形式,不再是简简单单的进行n-1次松弛,而是使用队列,能使路径变短(dist[y] > dist[x] + 1)且不在队列里的节点才入队进行松弛。 SPFA算法与Dijkstra算法的堆优化实现形式差不多,都是使用邻接表的方式。 代码 ...
分类:
编程语言 时间:
2020-05-16 21:02:59
阅读次数:
88
最大流 Edmond Karp 原版的是用邻接矩阵写的,太耗内存了,这里改成邻接表。 Dinic 玄学的Dinic ...
分类:
其他好文 时间:
2020-05-16 20:38:32
阅读次数:
54
问题1.判断有没有环 http://hihocoder.com/problemset/problem/1174 用vector模拟邻接表,开一个记录入度的一维数组,一个存储入度为0的队列 ac代码如下 #include<iostream> #include<algorithm> #include<v ...
分类:
编程语言 时间:
2020-05-15 17:39:42
阅读次数:
65
克隆图。题意是给一个图中的某一个node的reference,请你深度克隆整个图。图中的每个节点包含他的值和邻接表。例子, class Node { public int val; public List<Node> neighbors; } Input: adjList = [[2,4],[1,3 ...
分类:
其他好文 时间:
2020-05-03 13:09:50
阅读次数:
56
One-hot编码 整合成一个稀疏矩阵,那问题来了,稀疏矩阵(二维)和列表(一维)相比,有什么优势? 很明显,计算简单嘛,稀疏矩阵做矩阵计算的时候,只需要把1对应位置的数相乘求和就行,也许你心算都能算出来;而一维列表,你能很快算出来?何况这个列表还是一行,如果是100行、1000行和或1000列呢? ...
分类:
其他好文 时间:
2020-05-03 11:02:51
阅读次数:
61
来源:https://blog.csdn.net/summer_dew/article/details/81557331 关节点 什么是关节点 【关节点】 删除顶点V 与 =>图不再是连通图了 => 顶点V就叫关节点 V上的所有边 【连通图】图中的任意两点,都有路可以连通例子: 将 顶点a 与 a的 ...
分类:
其他好文 时间:
2020-05-01 10:58:17
阅读次数:
65