数学建模社区-数学中国

标题: 07 B 题C++ [打印本页]

作者: ansonto    时间: 2007-9-21 21:18
标题: 07 B 题C++
有没有人用C++编程做的啊!!!
作者: wwwzzzppping    时间: 2007-9-21 23:29
haha
作者: 牛牛_2007    时间: 2007-9-21 23:39
大哥,我想看看你的结果。
作者: 深蓝色天空    时间: 2007-9-22 00:15
fgd
作者: 123456亿比一    时间: 2007-9-22 07:30
hh
作者: fanyuchao    时间: 2007-9-22 07:34
hao
作者: weiming    时间: 2007-9-22 08:08
shui hui用C++的啊,说说啊
作者: tanjie    时间: 2007-9-22 10:28
[em01]
作者: Juicy    时间: 2007-9-22 20:04
&nbsp;int max=32767;<br/>&nbsp;for(int i=0;i&lt;n;i++)<br/>&nbsp;&nbsp;for(int j=0;j&lt;n;j++)<br/>&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;if(adj[j]!=max)<br/>&nbsp;&nbsp;&nbsp;&nbsp;path[j]=i+1;<br/>&nbsp;&nbsp;&nbsp;else path[j]=0;<br/>&nbsp;&nbsp;&nbsp;D[j]=adj[j];<br/>&nbsp;&nbsp;}<br/>&nbsp;for(int k=0;k&lt;n;k++)<br/>&nbsp;&nbsp;for(int i=0;i&lt;n;i++)<br/>&nbsp;&nbsp;&nbsp;for(int j=0;j&lt;n;j++)<br/>&nbsp;&nbsp;&nbsp;&nbsp;if(D[j]&gt;(D[k]+D[k][j]))<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D[j]=D[k]+D[k][j];<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path[j]=path[k][j];<br/>&nbsp;&nbsp;&nbsp;&nbsp;}
作者: skykness    时间: 2007-9-22 20:28
我们就是用C++做出来的,哈哈
作者: gwgwh    时间: 2007-9-22 21:02
ha
作者: karqier    时间: 2007-9-22 21:16
<p>怎做啊 ???</p><p>看看 啊 </p><p>谢谢 </p>
作者: wuyu1986    时间: 2007-9-22 21:16
ddd
作者: wuyu1986    时间: 2007-9-22 21:29
banfmag
作者: linxuping    时间: 2007-9-23 11:43
[em04]
作者: 杨杨    时间: 2007-9-24 04:43
yk
作者: 杨杨    时间: 2007-9-24 04:46
jhtsg
作者: wuygoon    时间: 2007-10-1 15:43
<p>C++和JAVA并不是专业的矩阵运算语言,我没用他们来解B题的原因:</p><p>1,他们在对二维数组遍历时的运算速度受系统的限制,特别是大型遍历时就会看出来;</p><p>2,不论是C++还是JAVA等,都无法直接输入B题中如此庞大的二维矩阵,所以如果一定要用的话就要外设接口。而当大量遍历的时候,外接的access接口很不稳定,所以会导致数据的丢失</p><p>3,在此,我的建议是使用矩阵专业的运算软件MATLAB,他里面自带了数据库,可以很容易的容纳下B题的矩阵,而且他的运算速度也很快,B题中二次换乘的遍历我的程序只要运行不到30秒。但是因为我暂时还不想在论坛上共享我的程序,不过哪位同学有兴趣的话可以私下我们交流学习一下,我的邮箱是<a href="mailto:wuy1997@163.com">wuy1997@163.com</a></p>
作者: foxwmj    时间: 2007-10-21 02:23
其实这种最短路的问题 用C++ 来解决是最好的~ <br/><br/>“不论是C++还是JAVA等,都无法直接输入B题中如此庞大的二维矩阵,所以如果一定要用的话就要外设接口。而当大量遍历的时候,外接的access接口很不稳定,所以会导致数据的丢失”<br/>对于这么稀疏的矩阵 当然不能简单的用数组 但C++里面的vector就很好的解决了这个问题<br/><br/>而且C++循环的控制灵活  如果选择适当的算法和合适的算法实现~ 运算速度是非常的快的~<br/><br/>O(E*log(V))时间复杂度的dijkstra + vector表示 能保证1秒之内出结果  而且不单单解决换乘次数3以下的问题 ,而是保证结果是全局最优的




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5