24小时热门版块排行榜    

查看: 1513  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

fanyuan315

新虫 (初入文坛)

[求助] 求教:如果找到有向无环图里各点到顶点的深度呢?拜托了! 已有2人参与

各位大侠:
      请求高人指点,我是做一个排序问题,问题已经转化成了一个有向无环图,想通过这个图找到每个点所在的层次关系,例如这样的一个有向无环图
    最后我想要得到的结果是,点0,1,2在第一层,3,4在第二层,5,6在第三层,7在第四层,8在第五层,9在第六层……
       请问,如何用c语言实现呢?哪怕给个算法思想也行啊,我对数组比较熟,但是不知道能否实现它?
        拜托了!

求教:如果找到有向无环图里各点到顶点的深度呢?拜托了!
有向无环图.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

枪下游魂

木虫 (著名写手)

【答案】应助回帖

引用回帖:
5楼: Originally posted by fanyuan315 at 2014-07-28 16:00:46
我程序里表达上面那个有向无环图使用一个二维数组表示的,比如,我不太会链表表达方式,平时主要用的就是数组,但是能否得到我想要的结果呢?理想的结果是我想得到一个这样的数组,我的意思您懂了吗?谢谢您,帮我 ...

你的意思是每一层用一个数组表示吧?
这个我没仔细想过,但是如果假设你已经知道了每一层的元素,以及层与层之间的从属关系,我觉得用struct结构数组会比较简单吧?也就是每个元素都是一个结构,这个结构里面有所属层号,上属元素,下属元素。
比如说
struct chain
{ int layer_number;
   int up_element;
   int down_element;
} *elements;

但是按照你的思路,似乎你不关心这一层元素与其它层元素的关系?
那以你的二维数组为基础,从最后一行的最后一个元素,比如说9开始,可以往前做一个搜索:9的起始层数为0,然后9和8在一个一维数组里且9是后面那个,9的层数+1;8和7在一个一维数组里且8是后面那个,9的层数+1;以此类推,直到遍历完所有行。这里面要设一个if,就是如果一个数字在两个数组里都出现且都是后面那个,那层数不变。最后把同层元素放在一个数组里
中间应该还有可以节省时间的地方。
6楼2014-07-29 08:10:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
fanyuan315: 金币+2, 有帮助, 谢谢您的提示,原理上我明白,现在就差具体的用程序实现了。感谢您的帮助! 2014-07-24 14:35:01
2楼2014-07-24 11:10:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

枪下游魂

木虫 (著名写手)

不是很明白你的意思,你的意思是你已经知道了这样一个结构,是想构建出来,然后如果输入9,能输出它的从属关系?
3楼2014-07-28 09:29:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fanyuan315

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by 枪下游魂 at 2014-07-28 09:29:02
不是很明白你的意思,你的意思是你已经知道了这样一个结构,是想构建出来,然后如果输入9,能输出它的从属关系?

您好:
     其实我的意思是根据上面的有向无环图,得到每个点在第几层,如上图所示0,1,2在第一层了,3和4在第二层,5,6在第三层,7在第四层,8在第五层,9在第六层。只要把大的层次关系找出来就行,至于同一层里面的关系不重要了就。
4楼2014-07-28 15:54:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +12 医学老男孩 2026-08-13 32/1600 2026-08-14 08:19 by 医学老男孩
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +10 家与远方 2026-08-10 15/750 2026-08-14 02:08 by 绵羊哥哥
[文学芳草园] 阿姨 +4 汪汪锅 2026-08-09 4/200 2026-08-13 19:43 by arzu_hma
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +4 majunge000 2026-08-11 6/300 2026-08-13 16:50 by 四季常青藤
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 好奇怪的filecode +5 布布和一二 2026-08-08 6/300 2026-08-12 16:11 by 云上清扬
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +7 布布和一二 2026-08-10 10/500 2026-08-12 09:12 by 布布和一二
[硕博家园] 读博的好处 +3 lnee 2026-08-11 3/150 2026-08-11 18:10 by 希望我好好的
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
信息提示
请填处理意见