图结构里判断两点是否有边,其实也就两种主流思路,邻接矩阵邻接表。如果你用的是邻接矩阵,那判断逻辑挺直接的,看a[i][j]是不是等于NoEdge就行。代码写起来也简洁,响应快,尤其适合稠密图的场景。

要是用邻接表,那就稍微麻烦点,但也不复杂。遍历i号顶点的链表,找找有没有j,有就是有边。链表查找这块得注意边界问题,别越界了,系统可不答应。

添加边操作就更常用了。矩阵结构里,改a[i][j]的值,加权图就直接赋个权重,简单粗暴。如果是无向图,记得顺带改下a[j][i]。邻接表就要在对应链表里加个结点,操作也不难,主要是清晰。

顺手推荐几个资源,还不错:

如果你正好在写图结构相关的工具类,建议把这两套逻辑都封装好,调用时判断存储类型自动切换,体验会更顺滑。