社区
数据结构与算法
帖子详情
求教有向图排布算法
积木
2006-07-20 01:26:17
条件:
一定数量的节点,
一定数量的边,
组成一个有向图(当然这个图可能会有环)
问题:
给出一个排布算法,也就是计算各个节点的坐标(暂时不考虑节点的大小)
要求:
没啥要求,给出一个能看排布就可以,大家讲讲思路,
图论我是基本不会。。。。
...全文
601
11
打赏
收藏
求教有向图排布算法
条件: 一定数量的节点, 一定数量的边, 组成一个有向图(当然这个图可能会有环) 问题: 给出一个排布算法,也就是计算各个节点的坐标(暂时不考虑节点的大小) 要求: 没啥要求,给出一个能看排布就可以,大家讲讲思路, 图论我是基本不会。。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
积木
2006-08-07
打赏
举报
回复
:haohe(舒克)
你的做法我合计了一下,会不会出现不稳定的情况?所谓的不稳定就是两次排布的结果不一样?嗬嗬,这样的做法放在科研里面能用吧,最好是对于特定的一个图,只有一种排布方法。
你的方法说白了就是初始情况+不断的迭代,对吧。
积木
2006-08-01
打赏
举报
回复
未名,你说的那个是一个demo?有source的?
积木
2006-08-01
打赏
举报
回复
:-D,这是一个很好的想法啊。我明白了。我去鼓捣鼓捣。
zzwu
2006-08-01
打赏
举报
回复
我在JAVA的SDK中看到过程序,它的初始布局是随机产生的,这时很多边
可能相互有交,很难看,然后就是进行自动调整,最后各边就相互不交了.
没有仔细看它的算法,只是看了执行程序的演示.
yyfhz
2006-08-01
打赏
举报
回复
就是根据关系矩阵来画出图画来喽?要画图很容易,在平面上把顶点洒下去,然后用线连起来不就行啦。至于每个点定位在哪里比较好看嘛,可以从某个顶点开始,把整个图当成一个无向图,进行广度优先的遍历,然后一层一层的把节点画出来。
haohe(舒克)提出的方法也很好啊
积木
2006-08-01
打赏
举报
回复
最后再顶一次~~~~~~
积木
2006-07-24
打赏
举报
回复
帖子沉了,自己顶顶。没有老大知道么?
积木
2006-07-21
打赏
举报
回复
....根本就是我没说明白。我在做一个图形自动排布的软件。
我需要在给出一定数量的顶点和边的情况下自动计算顶点的位置。这个算法石有成型的算法……但是我没有找到。。。郁闷。
你看很多数据库分析软件不是都可以根据表和表之间的关系生成一个联系图么。我要的就是那个感觉的东西。。。
vldb
2006-07-21
打赏
举报
回复
你的目的是不希望某些地方太密集,导致看不清楚点和边,是么?
可以采用类似于弹簧工作原理的算法。假设每条边都是一个弹簧。同时也给任意顶点之间加上跟距离相关的斥力,使得没有边的情况下,顶点能均匀散布。对于给定的边,如果边长过大,就收缩;边长太小,就伸展。开始随机把顶点撒到平面上,然后加上边的作用力。于是每个顶点会受到边的压缩或者拉伸,这些点的坐标相应发生移动。迭代多次,能稳定到你设置的终止条件即可。如果效果不好,再加一次随机震动,重新开始移动。
积木
2006-07-20
打赏
举报
回复
呵呵,节点用边连接起来,而边还是有向的,就构成了有向图。我打算把一个有向图自动排布出来显示在画面上,也就是有规律的显示他们的相互关系。
llwu
2006-07-20
打赏
举报
回复
节点的坐标指的是什么?
图论中的图和节点的空间排布是没有关系的。
Note-Station-to-markdown
这是一个跨平台脚本,可将 Synology Note Station 的笔记转换为 Markdown 文件。脚本使用 Python 编写,可在任何桌面平台上运行。 转换后您将获得: 1、以导出的笔记本命名的文件夹; 2、这些文件夹中以所有内联图片原位存储的 Markdown 语法纯文本文件笔记; 3、在笔记文本开头处分配标签和附件链接; 4、所有图片和附加文件都位于笔记本目录下的媒体子目录中。
区县-专精特新企业数量(2013-2025年).xlsx
详细介绍及样例数据:https://blog.csdn.net/li514006030/article/details/162965929
数据结构与算法
33,025
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章