算法:拓扑排序

拓扑排序用于AOV网络,结果不唯一。

步骤为:
找到一个入度为0的点,输出,
删除该点及其边
找下一个入度为0的点。

若执行完毕后,存在未输出的点,则此图是有环图。

实现上:

维护一个数据,记录每个点的入度。
维护一个栈,把找到的入度为0的点压入。
维护一个邻接表,记录出边。

例题:
窗口绘制:
POJ2585

显示器由44个格子组成,显示器显示9个窗口,编号1~9,位置固定,左上角为1号,向左移1列为2号,依次类推,右下角为9号,每个窗口由22组成,窗口可以覆盖,给定一个显示器临时状态,问是窗口覆盖是否合理。

解法,构造AOV图。

1233
4566
7899
7899

1的区域有1,2,4,5,则1->2,1->4,1->5
2的区域有2,3,5,6,则2->3,2->5,2->6
3的区域有3,6,则3->6
依次类推,构造AOV图。
只需要判断存不存在环即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值