图的三种存储方法:两邻两链

Dev.C++图的存储:图论是比赛中非常重要的一个环节。如果要学习图论,要先会图的存储。
图的存储有三种基础方法:邻接表(本文简称‘表’),邻接矩阵(本文简称‘阵’)及链式前向星
代码去oi-wiki


阵存图的方法是二维数组。
用二维数组adj存图,adj[u][v]表示从u到v的边的边权。值为0则不存在这条边。很好打。
它的优点是查边快。O(1)。
缺点也很明显:除了查边,啥都慢。它的建图是从v=1到v=n的,用爆搜搜出它所有的点,遍历也用爆搜。而且限制奇多:重边,无向图……除非你要做到查边奇快,一般不用。


表存图和阵很像,只不过一个多用bool,而表存的是数据,而不是真假值。作为代价,它找边要暴力遍历这张图。但是它查其他数据会快一点。


链式前向星怕是存图最方便的了,以前打过一篇博客相关,这里不做解析。学习这些是为了以后学算法做铺垫。你学会了吗?

原文地址:https://www.cnblogs.com/riced/p/13938947.html