无向图的结构定义:A、B节点有两条边,这种图怎么表示?

验证码识别 2009-12-13 02:12:28
A、B节点有两条边相连接,这种图怎么表示?

我看了下,好象数据结构里的邻接矩阵和邻接表都不行

...全文
254 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
绿色夹克衫 2009-12-13
  • 打赏
  • 举报
回复
无向图为什么会有2条路呢?大概是经过了另外的节点C或D吧!可以虚拟出2个点来表示,ACB和ADB
ivgwt 2009-12-13
  • 打赏
  • 举报
回复
int Node* next;
写错了。改为 Node* next;
ivgwt 2009-12-13
  • 打赏
  • 举报
回复
可以在邻接表的节点里加一个域,记录下这两个点有几条边相连。比如
struct Node{
int dest; //邻接的节点
int number; //记录有几条边
int Node* next;
};

struct Vertex{
int vertex;
Node* adj; //vertex点的边链表头指针
};

MasterLuo 2009-12-13
  • 打赏
  • 举报
回复
2楼说的用邻接矩阵的方法就很不错,如果点很多,又是稀疏图的话,就可以考虑用邻接表,只要在结点处在两条不同的边指向另一个结点就行了。
图并没有一种固定的定义,主要是看应用,建图的时候根据应用方向的不同,可以选择最合适与方便的建图方式。
验证码识别 2009-12-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fancymouse 的回复:]
>邻接表
这个为啥不行?
[/Quote]

表节点中存储 两个相同的节点指针?这么搞不太好吧
FancyMouse 2009-12-13
  • 打赏
  • 举报
回复
>邻接表
这个为啥不行?
donkey301 2009-12-13
  • 打赏
  • 举报
回复
可不可以当作权值分别为0,1,2的加权图?权值代表边数

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧