数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 5184|回复: 10

严重求助!!!

[复制链接]
发表于 2004-8-10 23:53:15 | 显示全部楼层 |阅读模式
<TABLE  width="90%" border=0>

<TR>
<TD  width="100%"><IMG src="http://www.shumo.com/bbs/Skins/Default/topicface/face10.gif" align=absMiddle border=0> <B>求助!</B>

<>有12个元素,他们之间存在一种关系,则不为0,如下表c(4,1)=2,说明元素4与元素1有关系。</P>
<>0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
2 2 2 0 0 0 0 0 0 0 0 0
2 1 2 2 0 0 0 0 0 0 0 0
3 2 0 2 0 0 0 0 0 0 0 0
2 1 6 2 1 1 0 0 0 0 0 0
2 4 2 2 0 2 2 0 0 0 0 0
5 4 0 2 2 1 2 2 0 0 0 0
2 5 2 2 6 2 4 2 0 0 0 0
4 2 2 1 2 2 2 2 2 0 0 0
4 5 0 2 2 4 4 0 2 0 0 0
</P>
<>现在,我要找到这样的集合:如{1  4  6  8},{1  6  7  8  9 11},他们中任意两个元素都存在关系,</P>
<P>我想不出算法把所有这样的集合都找出来。</P>
<P>望高手指点!!!感激不尽!!!</P></TD></TR></TABLE>
发表于 2004-8-11 04:03:49 | 显示全部楼层
<>我认为: </P><>    你对问题描述得不太清楚。c(4,1)=2,c(1,4)=?也是一种关系。 </P><>   是否是:找到元素个数从2到12的所有可能的集合。</P><P>   如用对称矩阵容易编程。即令c(i,j)=c(j,i),但实际意义可以与上述矩阵相同。c(j,i)也代表i与j的关系。</P><P>   易实现关系的查找。</P>
发表于 2004-8-12 18:37:51 | 显示全部楼层
<>楼主提出的问题是</P><>可以把矩阵表示成图,有12个点</P><>有关系则连线</P><P>问题可以转化为:求一个图中的完全子图</P><P>这个可以用图的遍历处理一下就可以了</P>
发表于 2004-8-12 18:43:49 | 显示全部楼层
<>还有一个办法:就是排除法</P><>因为,无关系,比如1和2,那么a(1,2)=0;</P><>从而根据这一点,我们可以做</P><P>对矩阵元素搜索;算法见下</P>
发表于 2004-8-12 18:52:21 | 显示全部楼层
<>step1:验证a(i, j)==0,如果成立,则把i和j放入两个不同的集合</P><>            比如:i∈bi,j∈bj</P><>            如果不成立,则向下搜索!</P><P>step2:取出所有没被分组的数字,放入dd()数组</P><P>step3:求出所有bi∪dd的子集,即为楼主所要得到的结果</P>
发表于 2004-8-12 19:00:25 | 显示全部楼层
<>当然,要注意的是关系矩阵是个对称矩阵</P><>可以用对称矩阵来解</P><>也可以在上面的算法中的step1,对i和j搜索时</P><P>限定:i=1,i&lt;=12,i++</P><P>                 j=1,j&lt;i,j++</P><P>也就是考虑矩阵的下三角</P>
发表于 2004-8-13 06:24:41 | 显示全部楼层
<>飞云同志说的好!表扬</P>
发表于 2004-8-14 16:45:13 | 显示全部楼层
<DIV class=quote><B>以下是引用<I>蓝海瓜瓜</I>在2004-8-12 22:24:41的发言:</B>

<>飞云同志说的好!表扬</P></DIV>
<>
<>谢谢蓝海</P>
<P>不过,该看到我的算法明显是错误的</P>
<P>找错误,比得到算法还要难的</P>
<P>看看吧</P>
<P>错误找出来了</P>
<P>也就会给得出算法的</P>
发表于 2004-8-14 18:51:26 | 显示全部楼层
<>还是最原始的搜索算法可能是比较好的</P>
发表于 2004-8-20 02:26:53 | 显示全部楼层
<>飞云大哥说的对,用排除法:</P><>将所有的点都放在一个集合里,从第一个开试</P><>[em01]将与它有关系的都找出来放入另一个集合中,再新集合中从第二个往后试,有关系的再放入一个集合......</P>[em01]上面的最终集合如果多于一个元素,便找到了一个.然后,从原始集合的第二个元素开始,重复1步即可.
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 17:37 , Processed in 0.059928 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表