跪求一份迷宫的最短路径的数据结构课程设计!!!急急急!!!!!!!

目 录第一章 需求分析... 11. 本课程设计题目... 12. 本课程设计要求及任务... 13. 课程设计思想... 14. 软硬件开发环境... 15. 开发工具... 1第二章 概要设计... 21. 分析... 22. 设计... 2第三章 详细设计... 31. 程序流程图... 32. 程序代码... 43. 实验结果... 10第四章 调试与操作说明... 10第五章 课程设计总结与体会... 10第六章 参考文献... 11就这啦!拜托!!要快!!!!!

基本思路是:1.从入口进入迷宫之后,不管在迷宫的哪一个位置上,都是先往东走,如果走得通就继续往东走,如果在某个位置上往东走不通的话,就依次试探往南、往西和往北的方向,依着某个走得通的方向继续往前直到出口为止;
2.如果在某个位置上四个方向都走不通的话,就退回到前一个位置,换一个方向再试,如果这个位置已经没有方向可试了就再退一步,如果所有已经走过的位置的四个方向都试探过了,一直退到起始点都没有走通,那就说明这个迷宫根本不通;
若当前位置“可通”,则纳入路径,继续前进;
若当前位置“不可通”,则后退,换方向继续探索;
若四周“均无通路”,则将当前位置从路径中删除出去。我这只有算法(利用的是栈):设定当前位置的初值为入口位置;
do{
若当前位置可通,
则{将当前位置插入栈顶;
若该位置是出口位置,则算法结束;
否则切换当前位置的东邻方块为
新的当前位置;}
否则 { ......}
}while (栈不空);
若栈不空且栈顶位置尚有其他方向未被探索,
则设定新的当前位置为: 沿顺时针方向旋转找到的栈顶位置的下一相邻块;
若栈不空但栈顶位置的四周均不可通,
则{删去栈顶位置;// 从路径中删去该通道块
若栈不空,则重新测试新的栈顶位置,
直至找到一个可通的相邻块或出栈至栈空;

若栈空,则表明迷宫没有通路。具体程序自己写吧!谢谢!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-24
一分不给 要求还蛮多的。。。汗一个先。。用回溯穷举做 每走一步都测试下一步走出迷宫的可能性
相似回答