想用表存放图的邻接矩阵,问这个表该怎么设计最合理?

mb459 2005-04-22 08:56:09
rt
...全文
152 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mb459 2005-04-23
  • 打赏
  • 举报
回复
有没有这方面的资料啊?
jihanzhong 2005-04-23
  • 打赏
  • 举报
回复
无向图的位数是N*(N+1)/2; //N是节点个数
有向图的位数是N*N; //N是节点个数
jihanzhong 2005-04-23
  • 打赏
  • 举报
回复
我没有规定死节点数,如下:
节点id 与其他节点的邻接元组 节点序号 图id
A1 {0,1,0,1,0,1} 1 G1
A2 {1,0,1,1,0,1} 2 G1
A3 {0,1,0,0,0,1} 3 G1
A4 {1,1,0,0,1,1} 4 G1
A5 {0,0,0,1,0,1} 5 G1
A6 {1,1,0,1,1,0} 6 G1
A1 {0,1} 1 G2
A2 {0,1} 2 G2


但是因为元组里隐含了节点个数,数据完整性就没有保证了
完整性约束不好做啊!


如果用一条记录存放一张图的话:
图id 节点个数 邻接矩阵(2进制表示) 是否有向
G1 6 010101011010001011010 N
G2 2 0101 Y

上面G1是无向图,‘010101011010001011010’表示和我第一次回复的一样
010101011010001011010 => 010101, 01101,0001,011,01,0 无向图对称所以把另一半省了

上面G2是有向图,‘0101’表示和我前面的G2一样
0101 => 01, 01 有向图不能省另一半

完整性约束:矩阵位数不够,后面自动加0 ,矩阵位数超出,可截取之





mb459 2005-04-22
  • 打赏
  • 举报
回复
ps: 图的接点个数事不确定的。
2楼的把结点数规定死了
real_name 2005-04-22
  • 打赏
  • 举报
回复
不确定啊 ,
说具体点吧
jihanzhong 2005-04-22
  • 打赏
  • 举报
回复
这样可以吗?
节点id 与其他节点的邻接元组 节点序号 图id
A1 {0,1,0,1,0,1} 1 G1
A2 {1,0,1,1,0,1} 2 G1
A3 {0,1,0,0,0,1} 3 G1
A4 {1,1,0,0,1,1} 4 G1
A5 {0,0,0,1,0,1} 5 G1
A6 {1,1,0,1,1,0} 6 G1

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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