Course Design of Data Structure : Covid-19 Travel Simulation System
本程序是北京邮电大学2020年计算机专业大二数据结构课程设计。
城市之间有各种交通工具(汽车、火车和飞机)相连,有些城市之间无法直达,需要途径中转城市。某旅客于某一时刻向系统提出旅行要求。考虑在当前COVID-19疫情环境下,各个城市的风险程度不一样,分为低风险、中风险和高风险三种。系统根据风险评估,为该旅客设计一条符合旅行策略的旅行线路并输出;系统能查询当前时刻旅客所处的地点和状态(停留城市/所在交通工具),具体旅行策略见后。
-
城市总数不少于10个,为不同城市设置不同的单位时间风险值:低风险城市为0.2;中风险城市为0.5;高风险城市为0.9。各种不同的风险城市分布要比较均匀,个数均不得小于3个。旅客在某城市停留风险计算公式为:旅客在某城市停留的风险=该城市单位时间风险值*停留时间。
-
建立汽车、火车和飞机的时刻表(航班表),假设各种交通工具均为起点到终点的直达,中途无经停。
- 不能太简单,城市之间不能总只是1班车次;
- 整个系统中航班数不得超过10个,火车不得超过30列次;汽车班次无限制;
-
旅客的要求包括:起点、终点和选择的低风险旅行策略。其中,低风险旅行策略包括:
- 最少风险策略:无时间限制,风险最少即可
- 限时最少风险策略:在规定的时间内风险最少
-
旅行模拟系统以时间为轴向前推移,每10秒左右向前推进1个小时(非查询状态的请求不计时,即:有鼠标和键盘输入时系统不计时);
-
不考虑城市内换乘交通工具所需时间
-
系统时间精确到小时
-
建立日志文件,对旅客状态变化和键入等信息进行记录
-
选做一:用图形绘制地图,并在地图上实时反映出旅客的旅行过程。
-
选做二:为不同交通工具设置不同单位时间风险值,交通工具单位时间风险值分别为:汽车=2;火车=5;飞机=9。旅客乘坐某班次交通工具的风险 = 该交通工具单位时间风险值该班次起点城市的单位风险值乘坐时间。将乘坐交通工具的风险考虑进来,实现前述最少风险策略和限时风险最少策略。
-
使用Python编程
-
实现了基本功能(两种策略)
-
实现了GUI
-
实现了图形化展示用户旅行状态(echarts)
-
实现了附加功能(选做二)
详情见报告和代码