全球旧事资料 分类
个场所间可以有不同的路,且路长也可能不同,只找出两个场所间的最佳路径(最短路径)。
f22迷宫问题(栈)问题描述:以一个m
的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。基本要求:首先实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(ijd)的形式输出,其中:(ij)指示迷宫中的一个坐标,d表示走到下一坐标的方向,如:对于下列数据的迷宫,输出的一条通路为:(1,1,1)(1,2,2),,3,2,3,3,1,2,。实现提示:计算机解迷宫通常用的是“穷举求解”方法,即从入口出发,顺着某个方向进行探索,若能走通,则继续往前进;否则沿着原路退回,换一个方向继续探索,直至出口位置,求得一条通路。假如所有可能的通路都探索到而未能到达出口,则所设的迷宫没有通路。可以二维数组存储迷宫数据,通常设定入口点的下标为(1,1),出口点的下标为(m
)。为处理方便起见,可在迷宫的四周加一圈障碍。对于迷宫中任一位置,均可约定有东、南、西、北四个方向可通。
23迷宫问题(队列)问题描述:以一个m
的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。基本要求:首先实现一个以链表作存储结构的队列类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(ijd)的形式输出,其中:(ij)指示迷宫中的一个坐标,d表示走到下一坐标的方向,如:对于下列数据的迷宫,输出的一条通路为:(1,1,1)(1,2,2),,3,2,3,3,1,2,。
24八皇后问题要求:试编写程序实现将八个皇后放置在国际象棋棋盘的无冲突的位置上的算法,并给出所有的解。提示:在国际象棋上放置皇后时,任何一个皇后的水平、竖直和斜45都不能有另一个皇后。解决该问题采用逐次试探的方法,即采用递归调用putchess函数的方法。首先将第一个皇后放于第一行第一列,然后开始向下一行递归。每一步递归中,首先检测待放置位置是否与已放置的皇后冲突,如不冲突,则进行下一行的放置,否则,选择该行的下一个位置进行检测。如整行的位置都冲突,则回到上一行,重新选择位置。
fr
好听全球资料 返回顶部