大阪周边好玩的:路线问题(求算法)

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 16:59:33
6:终点,1:起点,下面的为可走路线
1 2
1 3
3 4
3 5
4 6
5 6
2 3
2 4
必须把从1到6的所有路线列出来(不重复):如:1 2 4 6
结果:
1 2 3 4 6
1 2 3 5 6
1 2 4 6
1 2 4 3 6
1 3 2 4 6
1 3 4 6
1 3 5 6
1 3 2 4 6

SOS高手门快救命啊!!!!!
最后一行多出来的,不算,结果就前面7行

用图做很快

如果单纯这个题目的话可以用倒着来的方法。
比如建立二维数组存储通的路径,二维数组矩阵如下
| 1 1 3 3 4 5 2 2 |
| 2 3 4 5 6 6 3 4 |
可以搜索下行
第一步找6,也就是最终地址,找到对应的倒数第二个地址这里就是4 5
第二步找4 5,对应的倒数第三个地址时2 3
第三步找2 3,……
如何输出自己想办法吧

看你的意思用二叉树应该可以搞定,但结果里怎么会有
1 2 4 3 6
1 3 2 4 6
1 3 2 4 6
有一个还是重复的,是不是搞错了?

起点(1)终点(6)都定下了,那么排除这两个数,再把剩下的数排序,但要注意一点排序时要分几种情况;
1:在{2,3,4,5,}中任意拿出一个数排序有4种排法(1 2 6)(1 3 6)(1 4 6)(1 5 6)
2:在{2,3,4,5,}中任意拿出两个数排序有12 种排法
(1 2 3 6)(1 2 4 6)(1 2 5 6)(1 3 2 6)(1 3 4 6)(1 3 5 6)(1 4 2 6)(1 4 3 6)(1 4 5 6)(1 5 2 6)(1 5 3 6)(1 5 4 6)
3:~~~~~~~
4:~~~~~~~
<四种情况>
按照这样的算法就可以得出路线总数了,如果你用的C语言用几个"for"语句就可以搞定了.
其实这种算法就是高中数学中的求概率,可以把高中的数学课本看一下就行了`~~祝你成功,多编一些牛*的程序为祖国的软件事业做贡献,让中文软件成为世界的主流软件,加油~~~!!!

没教过,慢慢想,别着急,等个十天,定有结果.

递归
和骑士问题差不多

递归咯
就是数列的问题拉