首页 > 编程语言 >C语言数据结构与算法分析课程设计题目[2023-01-29]

C语言数据结构与算法分析课程设计题目[2023-01-29]

时间:2023-01-29 22:55:05浏览次数:64  
标签:课程设计 01 站名 路径 29 线路 算法 公交线路

C语言数据结构与算法分析课程设计题目[2023-01-29]

2021-2022 学年第一学期

数据结构与算法分析课程设计题目

课程设计总体要求:

  1. 课程设计报告撰写内容包括:题目分析;概要设计;数据结构设计;算法设
    计;实现与结果;结果分析。
  2. 课程设计报告里不要附源码,算法说明可用伪代码解释。
  3. 核心代码作为附录文件提交到系统。
  4. 可运行源码压缩包交给各班学委,学委收齐交给助教。
    一共交三个文件:课程设计报告(提交系统),核心代码(提交源码系统),源码
    文件包(线下)。
  5. 公交线路上优化路径的查询(本题目最多可 4 人一组选择)

问题描述:
最短路径问题是图论中的一个经典问题,其中的 Dijkstra 算法一直被认为是图论中的好
算法,但有的时候需要适当地调整 Dijkstra 算法才能完成多种不同的优化路径的查询。
对于某城市的公交线路,乘坐公交的顾客希望在这样的线路上实现各种优化路径的查询。
设该城市的公交线路的输入格式如下:
线路编号:起始站名(该站坐标);经过的站点 1 名(该站坐标);经过的站点 2 名(该站坐
标);…;经过的站点 n 名(该站坐标);终点站名(该站坐标)。该线路的乘坐价钱、该线路平
均经过多少时间来一辆、车速。
例如,63: A(32,45); B(76,45): C(76,90):…;N(100,100)。1 元、5 分钟、0.5km/每分钟。
假定线路的乘坐价钱与乘坐站数无关,不考虑公交线路路上的交通堵塞。
对这样的公交线路,需要在其上进行的优化路径查询包括:任何两个站点之间最便宜的
路径、任何两个站点之间最省时间的路径等。
从实际问题中合理定义图模型,掌握 Dijkstra 算法并能用该算法解决一些实际问题。
基本要求:
(1)根据上述公交线路的输入格式,定义并建立合适的图模型。
(2)针对上述公交线路,能查询获得任何两个站点之间最便宜的路径,即输入站名 S、T 后,
可以输出从 S 到 T 的最便宜的路径,输出格式为:线路 x:站名 S,…,站名 M1;换乘线
路 x1:站名 M1,…,站名 M2;…;换乘线路 xn:站名 MK,…,站名 T。共花费 x 元。
(3)针对上述公交线路,能查询获得任何两个站点之间最省时间的路径(不考虑在中间站换
乘下一个线路的等待时间),即输入站名 S、T 后,可以输出从 S 到 T 的不考虑在中间站换
乘下一个线路的等待时间的最省时间的路径,输出格式为:线路 x:站名 S,…,站名 M1;
换乘路线 x1:站名 M1,…,站名 M2;…;换乘线路 xn:站名 MK,…,站名 T。共花费
x 时间。
(4)针对上述公交线路,能查询获得任何两个站点之间最省时间的路径(要考虑在中间站换
乘下一个线路的等待时间),即输入站名 S、T 后,可以输出从 S 到 T 的考虑在中间站换乘
下一个线路的等待时间的最省时间的路径,输出格式为:线路 x:站名 S,…,站名 M1;换
乘线路 x1:站名 M1,…,站名 M2;…;换乘线路 xn:站名 MK,…,站名 T。共花费 x 时
间。
实现提示:
需深入考虑,应根据不同的应用目标,即不同的优化查询,来建立合适的图模型。

源码

https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111

标签:课程设计,01,站名,路径,29,线路,算法,公交线路
From: https://www.cnblogs.com/codewriter/p/17074046.html

相关文章

  • C/C++图的实现与分析[2023-01-29]
    C/C++图的实现与分析[2023-01-29]8.图的实现与分析问题描述分别对有向图、无向图、带权有向图、带权无向图实现对图的基本操作(创建、求顶点的度数、增加/删除边、判断......
  • QPython实例01-获取所有短信并生成词云
    一、QPython安装配置1.1.QPython介绍QPython是一个可以在安卓设备运行python的脚本引擎。版本有QPython3L和QPython3C,3L为官方版本,可以在应用市场搜索下载。3C版本为"......
  • 1.29 vp Educational Codeforces Round 142 (Rated for Div. 2)
    A-GamingForces题意有n只怪兽,每个怪的血量是\(a_i\),有两种操作:1.直接消灭这只怪2.消灭两只血量为1的怪问最少需要多少次操作可以将怪全部杀死思路可以想到,操作二......
  • 题解:【CODE FESTIVAL 2016 Grand Final】90 and 270
    题目链接经典增量构造题。不妨从是否存在构造开始考虑:根据多边形内角和的公式容易得出给定的度数和必须等于\((n-2)\times180^{\circ}\),才有解。换一个角度思考,又因......
  • 01快速安装docker
    1.为什么会有docker问题引入在开发过程中,我们经常会遇到代码环境问题,如代码可以在我的电脑上面运行,但是在别人电脑上就不行,而且随着环境的增加,代码环境报错的情况会出现......
  • P1014 [NOIP1999 普及组] Cantor 表
    题目链接:https://www.luogu.com.cn/problem/P1014有理数可枚举In1873Cantorprovedtherationalnumberscountable,i.e.theymaybeplacedinone-onecorrespon......
  • 2023-1-29
    1、Linux中的LD_LIBRARY_PATH环境变量这个环境变量用于指定动态库文件所在路径,python脚本运行时报错“ImportError...”时可以通过修改此环境变量来解决2、split命令使用......
  • 闲话 23.1.29
    闲话感觉我现在得先提升自己的specify水平(这题我少说用了七八张草稿纸(只算写了主要过程的好题!loj:LightNovelOJ不要越级做题。——大师APJifengc今日推歌:1/6......
  • k8s01 - 使用 kubeadm部署Kubernetes 1.26
    目录1准备1.1系统配置1.2配置服务器支持开启ipvs的前提条件1.3部署容器运行时Containerd2.使用kubeadm部署Kubernetes2.1安装kubeadm和kubelet2.2使用kubeadminit初......
  • 1013 Battle Over Cities
    1013BattleOverCities题目描述题意理解题意很简单,给出一张图,问如果去掉其中一个节点以及与这条节点相连的边,需要再添加几条边才能使图重新连通。解题的关键在于找......