- 7
- 0
- 约5.52千字
- 约 15页
- 2019-02-01 发布于安徽
- 举报
实用标准文案
精彩文档
数据结构课程设计
迷宫求解
学院:湖北工业大学计算机学院
教师:沈华老师
班级:12网络工程1班
学号:1210322118
姓名:饶进阳
时间:2013年12月22日
目 录
问题描述 ......................................................... 2
思路解析 ......................................................... 3
程序流程 ......................................................... 4
核心代码 ......................................................... 5
源程序代码 ........................................................ 6
程序运行实例 ..................................................... 12
课设总结 ......................................................... 14
1
迷宫求解
问题描述:
可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;
要求:
在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;
比如这是一个迷宫
电脑找出的出路
2
思 路
设定当前位置的初值为入口位置:
do{
若当前位置可通,
则{
将当前位置插入栈顶;}
若该位置是出口位置,则结束;
否则切换当前位置的东邻块为新的当前位置;
否则{
若栈不空且栈顶位置还有其他方向未被探索,
则设定新的当前位置为沿顺时针方向旋转找到的栈顶位置的下一相邻块;}
若{
栈不空但栈顶位置的四周均不可通,
则删去栈顶位置;}
若{
栈不空,则重新测试新的栈顶位置,
直至找到一个可通的相邻块或出栈至栈空;}
}while(栈不空)
{栈空说明没有路径存在}
PS:类似动态求解方法 3
程序流程
第一次用visio做程序框图,所以只把程序的大概流程画出来了。
4
核心代码
//栈相关操作
int initlStack(Stack *S)
int pushStack(Stack S, coordinate e)
int popStack(Stack S, coordinate *e)
int getTop(Stack S, coordinate *e)
void show(Stack S)
//创建一个迷宫
int creatMaze(Maze *m)
//打印出一个迷宫
void showMaze(Maze *m)
//求当前结点的下一个通路
coordinate passNext(Maze *m, int i, int j)
//求迷宫路径
int solveMaze(Maze *m, Stack S)
//模拟出路径
void showRoad(Maze m, Stack S) 5
程序源码:
#include stdio.h
#include stdlib.h
#define MAX 100
#define SIZE sizeof(Node)
//****************************
//栈
typedef struct {
int x;//行
int y;//列
}coord
您可能关注的文档
- 初中的美术精彩活动记录簿.doc
- 初中的名著导读知识点的总结.doc
- 初中的数学动点专题.doc
- 初中的数学公式大全.doc
- 初中的数学--勾股定理.doc
- 初中的数学规律题的总结.doc
- 初中的数学教研精彩活动记录簿.doc
- 初中的数学经典难题(含问题详解).doc
- 初中的数学思维导图.doc
- 初中的数学相交线和平行线提高题与常考题型和培优题(含解析汇报).doc
- 感染控制护士2025年工作总结及2026年工作计划.docx
- 2026年省考工商联面试核心知识试题及解析.docx
- 妇产医院2025年工作总结及下一步工作打算.docx
- 2025云南昆明医科大学招聘博士工作人员71人备考历年题库带答案解析.docx
- 2025云南昆明元朔建设发展有限公司第二批收费员招聘9人考试题库附答案.docx
- 感染控制护士2025年工作总结及下一年工作计划.docx
- 多学科会诊知情同意书.docx
- 2025云南昆明宜良县第二人民医院招聘1人备考题库附答案.docx
- 2025云南昆明富民县人民医院招聘编外合同制人员11人笔试备考试卷附答案解析.docx
- 2025云南昆明市五华区德仁中学教师招聘1人备考历年题库附答案解析.docx
原创力文档

文档评论(0)