[数据结构大作业]HBU Guide

河北大学校园导航

校园导航问题

实验报告介绍:

博客园 https://www.cnblogs.com/hx97/p/11967398.html

CSDN https://blog.csdn.net/shiliang97/article/details/103339031

【问题描述】

以我校为例,设计一个校园导航系统,主要为来访的客人提供信息查询。系统有两类登陆账号,一类是游客,使用该系统方便校内路线查询;一类是管理员,可以使用该系统查询校内路线,可对校园景点路线可编辑。

【需求分析】

设计学校的平面图,至少包括10个以上景点(场所),每两个景点间可以有不同道路,且路长也可能不同,找出在游人所在景点到其他景点的最短路径,或游人输入的任意两个景点的最短路径。 要求: (1) 以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,路径权重为路径长度。 (2) 为游人提供任意景点相关信息查询。 (3)为游人提供任意景点的问路查询,即任意两个景点之间的最短路径。

text

实现提示: 一般情况下,校园道路是双向通行的,可设计校园平面图是一个无向图。顶点和边均含有相关信息。 选做内容: (1)提供图的编辑功能:增删景点;增删道路;修改已有信息等。 (2)校园导游图的仿真界面。

text

text

TODO

1.构建函数列表 2019年11月30日21:36:15

2.构造存储数据结构体 2019年11月30日21:36:17

3.编写用户管理员登录界面,以及函数调用。 2019年11月30日21:36:19

4.完善各个函数功能。

函数列表

//景点介绍

void introduct (void){

return;

}

//查找游客所在景点与其他景点的距离

void Dijkstra(void){

return;

}

//查找游客指定的两个景点间的最短路径长度

void Floyd(void){

return;

}

//修改景点信息

void modifyInfo(void){

return;

}

//添加景点

void addInfo(void){

return;

}

//删除景点

void delInfo(void){

return;

}

//添加道路

void addPath(void){

return;

}

//删除道路

void delPath(void){

return;

}

//生成图

void create(void){

return;

}

数据结构实验报告

【概要设计】

1. 抽象数据类型定义:

(1)景点 顶点名称 代号 顶点信息简介

Typedef struct{

Int num;

Char name[100];

Char features[200];

} VertexType;

(2)图的存储结构:

Typedef int EdgeType;

Typedef struct{

VertexType vexs[MaxVertexNum];

EdgeType edges[MaxVertexNum][MaxVertexNum];

Int n, e;

} MGraph;

2 主要功能模块

(1)创建图的邻接矩阵存储结构 create()

(2) 浏览图中任一景点介绍

(3) 修改景点信息

(4) 增加景点信息

(5) 删除景点信息

(6) 增加道路

(7) 删除道路

(8) 查找某一景点到其他景点的最短路径

(9) 查找任一两个景点之间的最短路径。

//景点介绍

void introduct (void){

return;

}

//查找游客所在景点与其他景点的距离

void Dijkstra(void){

return;

}

//查找游客指定的两个景点间的最短路径长度

void Floyd(void){

return;

}

//修改景点信息

void modifyInfo(void){

return;

}

//添加景点

void addInfo(void){

return;

}

//删除景点

void delInfo(void){

return;

}

//添加道路

void addPath(void){

return;

}

//删除道路

void delPath(void){

return;

}

//生成图

void create(void){

return;

}

3 主模块流程

管理员登陆,可实现(1)-(9)功能操作 游客登陆,在(1)基础实现基础之上,可实现 (2)(8)(9)功能操作

printf("请输入您的密码:");

char password[PASSWORDLENGTH];

scanf("%s",password);

getchar();//一定要吃回车,不然影响下一次输入

if(strcmp(password, PASSWORD)==False) {

printf("密码正确,即将进入系统\n");

Administrator();//转入超级管理员界面

}else{

system("cls");

printf("----------密码错误---------\n");

printf("系统将在1S后回到主面板");

Sleep(1000);

system("cls");

}

break;

default:

printf("即将在1s后退出系统,感谢您的使用。");

Sleep(1000);

return 0;

【详细设计】

用C语言定义相关数据类型

(1)景点 顶点名称 代号 顶点信息简介

Typedef struct{

Int num;

Char name[100];

Char features[200];

} VertexType;

(2)图的存储结构:

Typedef int EdgeType;

Typedef struct{

VertexType vexs[MaxVertexNum];

EdgeType edges[MaxVertexNum][MaxVertexNum];

Int n, e;

} MGraph;

写出各模块伪代码算法

画出函数间的调用关系图

【调试分析】

调试中遇到的问题及对问题的解决方法

遇到算法查询最短路径问题,查找弗洛伊德算法和迪杰斯特拉算法

通过搜索引擎,借鉴前人的思路和方法,进行学习和总结。

算法时间复杂度和空间复杂度

时间复杂度 n* n

空间复杂度 存储信息 n * n

【使用书说明及测试结果】

登录界面

游客界面

管理员登录

管理员系统

景点描述

最短路径查询

删除功能

校园导航系统java具有gui,[数据结构大作业]HBU Guide 河北大学校园导航相关推荐

  1. 东华大学java_东华大学2020秋《Java程序设计》期末大作业

    东华大学继续教育学院 2020年秋季学期 远程学历教育<Java程序设计>期末大作业 一.选择题(本大题共10小题,每小题 1分, 共10分) 1.    下列哪个不是面向对象程序设计的基 ...

  2. 东华大学java_东华大学继续教育学院 2020年春季学期 远程学历教育《Java程序设计》期末大作业...

    2020年春季学期 远程学历教育<Java程序设计>期末大作业 班级            姓名           学号            成绩 项目        一        ...

  3. C语言霍夫曼编码压缩,数据结构大作业——哈夫曼编码压缩BMP格式文件

    数据结构大作业--哈夫曼编码压缩BMP格式文件 首先需要了解BMP图像格式 BMP图像格式详解 其次需要了解哈夫曼编码如何对BMP文件进行压缩 哈夫曼压缩与解压缩 编程部分 使用的头文件 虽然这里用了 ...

  4. 数据结构大作业——银行排队系统

    数据结构大作业--银行排队系统 离散事件模拟--银行业务处理 题目分析 声明部分 辅助函数 初始化窗口节点 创建顾客节点 比较四个窗口的排队人数 输出离开顾客的信息 主要函数 完整的头文件代码 离散事 ...

  5. 数据结构大作业--迷宫问题

    数据结构大作业–迷宫问题 上图: 代码有详细注解 迷宫自动生成问题单独讨论 当然由于出口随机的原因右小概率会出现bug(这无伤大雅) 首先我们都知道,迷宫只有一条正确的道路. 这个时候请把自己想象成一 ...

  6. 数据结构大作业-班级考勤管理系统

    简介 此程序是本人大二时期的数据结构大作业,初学数据结构和算法后所编写的一个程序,是一个班级考勤管理系统,可实现班级考勤信息的管理. 本程序使用C语言编写,使用Visual Studio 2019进行 ...

  7. 数据结构大作业之停车场管理系统

    数据结构大作业之停车场管理系统 安排: 1. 分析停车场的数据属性,并依据停车场管理的功能要求,确定模拟系统设计方案: 2. 完成停车场管理的数据结构设计工作,包括栈和队列的逻辑结构和存储结构等: 3 ...

  8. Java电话薄期末大作业

    标Java电话薄期末大作业 //主类 package phone;import java.io.*; import java.util.ArrayList; import java.util.Scan ...

  9. C/C++《数据结构大作业》

    C/C++<数据结构大作业> 要求 一.作业目的 1. 掌握用数据结构的知识进行程序设计. 2. 应用所学的数据结构完成一个具有一定实际意义的应用程序的设计.编码.调试,锻炼实践动手能力, ...

最新文章

  1. mqtt 负载均衡_EMQ百万级MQTT消息服务(分布式集群)
  2. 互联网Scratch编程趣味课:不插电编程和计算机对话[图]
  3. Simulink仿真---SPWM算法
  4. SQL 2012 Group By Rollup, Grouping
  5. 【Minimum Depth of Binary Tree】cpp
  6. HDU4324(强连通的Tarjan算法)
  7. java dh算法_https密钥交换DH算法
  8. C#小游戏—钢铁侠VS太空侵略者
  9. Apollo进阶课程㉓丨Apollo规划技术详解——Motion Planning with Environment
  10. sql子查询示例_学习SQL:SQL查询示例
  11. 【转】Android 驱动开发系列四
  12. 室内地图导航shopcloud
  13. 基于R的飞机航线数据可视化(行政区划)
  14. 你知道两台Linux之间如何传输文件吗?
  15. 4. 利用MySQL Shell安装部署MGR集群 | 深入浅出MGR
  16. python类和对象最全详解(持续修订中)
  17. R语言进入,提示都是日文怎么切换
  18. win101909要不要更新_近年最稳的Win10更新?Win10 1909值得升级吗
  19. 中断系统的相关知识(二)(可位寻址、不可位寻址)
  20. JavaScript (一) js的介绍及基本语法变量

热门文章

  1. 椭圆曲线介绍(一):实数上面的椭圆曲线
  2. 奇虎360安全卫士负责人傅盛正式离职
  3. mysql中使用h2_H2数据库使用
  4. 安装Newton版Swift,配合keystone认证
  5. Ubuntu 安装配置类似windows下的msconfig
  6. 计算机桌面不同步,为什么电脑桌面的时间与实际时间不一致,该怎么
  7. Jq 复选框 全选,全不选,监听复选框,获取选中值
  8. 2019全国高校深度学习师资培训班第二期结业
  9. 微信小程序——页面传值
  10. 小程序跳转传值并渲染到页面上