100分求一个图论算法.

JeffHe 2006-05-11 09:36:56
现假设有100个点,编号a1,a2...a100,100个点为网状连接,存在一个点连接多个点的情况;另有12种旗子要插在这100个点上,旗子为flag1,flag2...flag12;目前准则是在直接相连的两个点中不许以下几种情况发生:
1: flag1 flag3 flag8 flag12不能相连
2: flag2 flag5 flag6不能相连
3: flag9 flag10不能相连
4: flag11 flag4不能相连

现要求这100个点上必须插满这12种旗子,且需要满足以上条件,不知采用什么样的算法来解呢?
...全文
274 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
JeffHe 2006-05-17
  • 打赏
  • 举报
回复
采用遗传算法不知可行么?
danjiewu 2006-05-17
  • 打赏
  • 举报
回复
貌似4,7可以随便填的,那只要给其他旗各找一个能插的点,其他点就插4或7就可以了。
这算是算法吗……
kongl123 2006-05-17
  • 打赏
  • 举报
回复
上面所说的连通是指路径长度不超过1的连通.
kongl123 2006-05-17
  • 打赏
  • 举报
回复
设题为保证条件1,2,3,4发生.则:
1).不一定有解.如完全图一定无解
2).一种找简单解的方法(现在没时间证明有效性,不过感觉如果有解应该可以找到一组(以上)):

-- 1.设两个表Open,Close.Open初始为所有顶点,Close初始为空.设一变量n=1.
-- 2.Open空则转--5.从Open表中取出一个度数最小的点,插上条件n)中没用过的色.再把这个
点和与它连通的点存入Close表中,并从Open表中删除这些点.
-- 3.如果条件n)中的色都用过了,则n=n+1,并把Close表中没有插色的点存入Open表中,然后删
除.如果n>4则转--4.不然转--2.
-- 4.把Open表中所有和Close表中任一点连通的点插上flag7存入Close表,并从Open表中删;
n=1,转--2.
-- 5.把Close中所有没插色的点插上7.如果12色不齐全则找不到,如果12色中除7外有重复的用
7换则为一新插法.

说明:
如果这种方法的确有效,那它也只能找到一部分的解.这个算法是贪心法,所以时间复杂是线性的.大家可以试试用邻接链表来理解n个顶点的简单图,我认为这样理解能更清析地看这题.如果没人证明我这个方法是不一定成立的话(或一定成立),我有时间会试着证明它的正确性:)
JeffHe 2006-05-15
  • 打赏
  • 举报
回复
dengsf,请教这个算法如何做呢?
旗子无数量要求,但必须12种旗子都有才行。
JeffHe 2006-05-12
  • 打赏
  • 举报
回复
是至少要求一个解的,求出一组解当然最好了。
chenzhichao2008 2006-05-12
  • 打赏
  • 举报
回复
只求一个解,不用剪枝
Viali 2006-05-12
  • 打赏
  • 举报
回复
穷举可以...不过复杂度很高。
zm8888 2006-05-12
  • 打赏
  • 举报
回复
找程序员测试程式(php+mysql)急,在线等.qq:361363075
JeffHe 2006-05-12
  • 打赏
  • 举报
回复
mathe:只插一种是不行的,条件是12种旗子必须全部插上去
mmmcd:只要找一个解即可,不知你说的剪枝条件如何用法?
dengsf 2006-05-12
  • 打赏
  • 举报
回复
旗子有规定数量吗?

flag7 的人缘很好,
用它来将图分开应该可以有优化不少。
mathe 2006-05-12
  • 打赏
  • 举报
回复
只插一种颜色的旗子不就行了?
mmmcd 2006-05-12
  • 打赏
  • 举报
回复
"
...
不许以下几种情况发生:
1: ... ...不能相连
...
"
不许...不能相连 => ...一定要相连?


要是只找一个解,而且不少剪枝条件可用,搜索也是可行的。
chenzhichao2008 2006-05-12
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/4740/4740188.xml?temp=.9309351
一模一样的问题,只是条件不同

33,007

社区成员

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

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