2016课程设计演示编制一个求解迷宫通路的程序.pptVIP

  • 4
  • 0
  • 约1.12万字
  • 约 23页
  • 2016-12-18 发布于北京
  • 举报

2016课程设计演示编制一个求解迷宫通路的程序.ppt

数据结构课程设计 -----编制一个求解迷宫通路的程序 模块设计 本程序除主函数模块外总计5个模块: 栈模块--实现栈抽象数据类型 迷宫模块--实现迷宫抽象数据类型 迷宫随机地图生成模块--用户自定义迷宫地图的生成 菜单模块--实现与用户交互菜单 游戏模块--实现游戏功能 负责实现其中的: 迷宫随机地图生成模块,菜单模块,游戏模块. 模块设计 模块设计 随机地图生成模块 算法设计: 平面图的任意生成树,使用随机DFS. 算法思路: 算法通过 n * m 矩阵的每一个点 i,j 映射到矩阵 ( 2*n+3 ) * ( 2*m+3 ) 的点 2*i,2*j上,通过DFS对i,j的对应点 2*i,2*j进行遍历,使之形成通路. 算法分析: 用这个算法,生成的迷宫的特点是,分支不多,但往往很深,难度较大.算法最好情况下时间复杂度为:O(n+m),最坏情况下时间复杂度为:O(n*m),平均时间复杂度为: O(n*m) 随机地图生成模块 假设用户输入 n = 3,m = 3: 随机地图生成模块 迷宫生成算法: void Make_Maze(int map[MAZE_MAX+2][MAZE_MAX+2],int x,int y) { int z1,z2; for(z1=0,z2=2*y+2;z1=2*x+2;z1++) map[z1]

文档评论(0)

1亿VIP精品文档

相关文档