数据结构课程设计。
总结报告。东北大学软件学院。
第一章需求分析。
1、 问题的定义。
设计一个景点管理系统,分为管理员和游客两部分,需要帮助景区更为方便的管理景区,规划道路,帮助游客更为方便地找到自己想要的信息。
2、 问题分析。
为游客提供景点分布图,景点简介,景点查询,以及查询路线选择等相关建议;为管理员提供添加景点,删除景点,添加道路,以及发布公告的功能,考虑到景区的实际情景,整个项目应该设计为一个手机app,这样才能满足用户需求,方便用户操作。
3、 研究意义。
这是一个与实际相连的小项目,以方便游客游览和景区管理作为最终目的,提供高效的算法,和简洁的界面,方便用户操作,这样有利于学生写的作业与社会实际情况相连,考虑确实需求。
第二章系统设计。
2.1总体设计
1) 基本数据结构:
list: mylist
private final static int init_capacity;
private object mlist;
private int mcurrentcapacity;
private int msize;
public void add(t item);
public void remove(int index);
public t get(int index);
public void set(int index, t item);
public int size();
队列: myqueue
private object queue;
private int front;
private int nitems;
private int maxsize = 100;
public void add(t item)
public t remove()
public boolean isempty()
public int size()
栈: mystack
private int capacity = 10;
private int length = 0;
private object stack;
public boolean isempty()
public boolean isfull()
public void push(object obj)
public t pop()
public int size()
邻接表: graph
public mylist adjlist;
public mylist visit;
边: edgenode
public int index;
public string name;
public boolean flag = true;
public int value;
public edgenode nextarc;
点: vertexnode
public string name;
public attraction attraction;
public edgenode firstarc = new edgenode();
2) 游客操作的定义 :
提供所有景点之间的距离: void outputgraph()
搜索相关的景点: arraylist findbyname(string keyword)
通过欢迎度来排序: arraylist sortbypopular()
通过岔路数进行排序: arraylist sortbystreetnum()
找最短路径的长度: int shortestdistance(string start,string end)
找最短路: string shortestroute(string start,string end)
获取所有景点: arraylist getallattraction()
获取所有的道路: arraylist getallstreet()
提供导游回路: string outputloop()
登记车辆: string registercar(string license)
驶出车辆: string le**ecar(string lisence)
3) 管理员操作定义:
添加新景点: void addatrraction(vertexnode newattraction)
添加道路: string addstreet(string start,string end,int distance)
删除景点: boolean deletattraction(string name)
维护道路: void maintainstreet(string start,string end)
发布公告: void sendnotice()
2.2程序设计
1) dijkstra算法找最短路径。
初始时,s只包含了初始的起点,即s=,v的距离为0。u包含着v之外的所有节点,即u=,若v与u中顶点有边,则正常有权值,若不是u与v无直接的边相接,则的权值为无穷大。
从u中选取一个距离v最小的顶点k,把k,加入s中。
以k为新考虑的中间点,修改u中各顶点的距离,若从源点v到顶点u的距离(经过顶点k)比原来距离(不经过顶点k)短,则修改顶点u的距离值,修改后的距离值为顶点k的距离加上边上的权。
重复步骤2和3直到所有顶点都包含在s中。
2) 哈密尔顿回路找最短的导游回路。
初始时,s中只包含一个起点,即s=
遍历所有与v,相邻的节点,选取最近的顶点k加入,检查集合中是否形成了回路,若存在,则换其他点,若没有,则k便成了新的v节点。
重复步骤2,直到将所有节点都包含在s中
第三章系统实现与调试
3.1 景区路线图的初始化
我将所需要的数据放进了数据库,然后再录入数据,通过graph,vertexnode和edgenode三个数据结构来保存这个邻接表
while (
2)删除景点
enode = new edgenode();
enode =
while (enode !=null) else
while (penode !=null) {
if ( v) {
课程设计总结报告
沈阳航空航天大学电子信息工程学院。电子设计应用软件训练总结报告。学生姓名 胡刚 专业 电子信息工程 班级 04020104 学号 2010040201135 指导教师 李智慧 2012 年7 月18 日。电子信息工程学院。电子设计应用软件训练任务。一 训练任务。1 protel部分。1 熟练掌握pr...
fpga课程设计总结报告模版
成都理工大学工程技术学院。fpga数字系统课程设计。总结报告。项目名称 基于指纹识别的考勤系统的设计。专业 2013级电子科学与技术 班级 电子科学与技术1班 成员夏雨。吴杰帅。指导教师 评分。年月日。目录。1 项目计划 1 1.1 方案可行性分析 1 1.2 项目执行计划 2 2 设计说明 3 2...
c语言课程设计总结报告
附表2c 或c 语言课程设计总结报告。学生学号。姓名。专业。班级。所属学期。一 项目介绍与设计目的。项目介绍 这是一个 学生通讯录管理系统 的程序。它具有如下功能 1 产生一个菜单选项,根据用户的需要进行选择,附表2 c 或c 语言课程设计总结报告。注 该 由学生填写,内容采用小四号宋体。源 学生通...