Closed wtysos11 closed 3 years ago
想了一下还是提一下邻接表吧
struct Edge{
int from,to,weight;
};
vector<Edge> G[maxn];//可以用来模拟邻接表
//使用的时候给对应的数组G[node]插入边即可,其实也挺方便的
另外一个是刘汝佳的蓝书里面的实现,应该也是邻接表,只是G[maxn][edgeNum]
里面放的不再是直接放边对象,而是改为了边索引号n。这个索引号可以由边对象数组维护,也可以由多个数据对象数组维护,比较方便。在很多时候,对边的信息没有过多要求时,直接用一两个int数组就可以表示全其信息,也比较方便。唯一的问题是不好删除。
常用的邻接矩阵和邻接表都挺简单的,就不提了。 这个是ACM版本的前向星,本质就是用数组替换了链表,效果就是更方便一些。 虽然不如十字链表删除方便,但是也能比较方便地写出边删除的操作。