课程设计总结报告

发布 2022-10-04 11:09:28 阅读 4450

数据结构课程设计。

总结报告。东北大学软件学院。

第一章需求分析。

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 语言课程设计总结报告。注 该 由学生填写,内容采用小四号宋体。源 学生通...