From 50c2acf9375fd2b87152503baef7c5718801cd06 Mon Sep 17 00:00:00 2001 From: yangtengze Date: Mon, 10 Jul 2023 11:13:08 +0800 Subject: [PATCH] change --- README.md | 122 +++--------------------------------------------------- 1 file changed, 5 insertions(+), 117 deletions(-) diff --git a/README.md b/README.md index 61d94fd..ad321c5 100644 --- a/README.md +++ b/README.md @@ -5,16 +5,12 @@ 杨腾泽,刘鑫成,李培毅,孙英皓 **摘要**: + (1) 基于真实的公路数据建立导航地图模型,编制成格式简单的数据文件包括城市线路名称、站点名称。 (2)系统能够读取公路导航地图数据文件,建立公路模型,也能够将模型输出成数据文件,以便验证模型的正确性。 (3)通过人机交互的方式输入起点和终点站名称,系统给出路径长度最短的导航路径。 (4)能够读取不同的地铁导航地图进行功能测试。 - - - - - # 1. 系统分析 通过各种算法,实现公路导航 @@ -53,7 +49,7 @@ 系统中需要读取以下文件以获得城市的边信息数据 - creat.cpp + creat.h 功能:创建图结构 @@ -61,7 +57,7 @@ 输出:无 - function.cpp + function.h 功能:连接任意两个点 @@ -74,7 +70,7 @@ 输入:选择的功能编号 输出:返回一个值给main函数 -short.cpp +short.h 功能:用Dijkstra算法求给出的一点到其余个点的最短路径 输入:源点 @@ -82,11 +78,6 @@ short.cpp -功能:用floyd算法求给出的两点之间的最好费用 -输入:出发地,目的地 -输出:地点的最少费用以及路径 - - ### (4)参数设定 构建图结构给图中点位赋予编号,名称,简介 @@ -97,7 +88,7 @@ short.cpp 功能:修改城市信息 - 输入:要修改的城市编号,以及修改后的城市信息 + 输入:要修改的城市编号 输出:无 @@ -116,28 +107,6 @@ short.cpp 首先,分析对比几种可选的数据结构设计方案。如图可以采用邻接矩阵,也可以采用邻接表,表示集合可以用普通的查找表,还可以用不相交集。给出每一种设计方案的特点(优势、不足等)。然后,综合考虑各种因素(空间、时间、乃至团队成员的水平等),给出你的选择。 -### (1)xxx结构 - -给出核心数据结构的设计,包括文字描述和示意图。讲清楚数据是如何组织的。多个数据结构,逐一列出。 - -### (2)xxx结构 - -给出核心数据结构的设计,包括文字描述和示意图。讲清楚数据是如何组织的。 - -### - -## 2.3 算法设计 - -首先,分析对比几种可选的算法设计方案。如是否排序,广度优先或深度优先搜索等。给出每一种设计方案的特点(优势、不足)。然后,综合考虑各种因素(空间、时间、乃至团队成员的水平等),给出你的选择。 - -### (1)XXX算法 - -给出核心算法的设计,包括伪代码或流程图。多个核心算法,逐一列出。只列举解决问题的核心算法,重点讲清楚是如何解决问题的。 - -### (2)XXX算法 - -给出核心算法的设计,包括伪代码或流程图。 - # 3. 系统实现 @@ -238,47 +207,7 @@ int Ppath1(MatGrath &G,int path[][MAXV],int v,int w) //前向递归查找 Ppath1(G,path,k,w); //找顶点k的前一个顶点j } ``` - 如下采用floyd算法求给出的两点之间的最少费用 - ``` -void ShortestMoney(MatGrath &G,int v,int w)//求花费最少的路径 -{ - int A[MAXV][MAXV],path[MAXV][MAXV]; - int i,j,k; - for (i=0; iA[i][k]+A[k][j]) - { - A[i][j]=A[i][k]+A[k][j]; - path[i][j]=k; - } - } - - - if (A[v][w]==INF) - { - if (v!=w) - printf("从%d到%d没有路径\n",v,w); - } - else - { - printf(" 从%s到%s路径费用:%d元人民币 路径:",G.vexs[v].sight,G.vexs[w].sight,A[v][w]); - printf("%s->",G.vexs[v].sight); //输出路径上的起点 - Ppath1(G,path,v,w); //输出路径上的中间点 - printf("%s\n",G.vexs[w].sight); //输出路径上的终点 - } - -} -``` - ## 3.2 核心算法的实现 @@ -363,47 +292,6 @@ int Ppath1(MatGrath &G,int path[][MAXV],int v,int w) //前向递归查找 Ppath1(G,path,k,w); //找顶点k的前一个顶点j } ``` - 如下采用floyd算法求给出的两点之间的最少费用 - ``` -void ShortestMoney(MatGrath &G,int v,int w)//求花费最少的路径 -{ - int A[MAXV][MAXV],path[MAXV][MAXV]; - int i,j,k; - for (i=0; iA[i][k]+A[k][j]) - { - A[i][j]=A[i][k]+A[k][j]; - path[i][j]=k; - } - } - - - - if (A[v][w]==INF) - { - if (v!=w) - printf("从%d到%d没有路径\n",v,w); - } - else - { - printf(" 从%s到%s路径费用:%d元人民币 路径:",G.vexs[v].sight,G.vexs[w].sight,A[v][w]); - printf("%s->",G.vexs[v].sight); //输出路径上的起点 - Ppath1(G,path,v,w); //输出路径上的中间点 - printf("%s\n",G.vexs[w].sight); //输出路径上的终点 - } - -} -``` - # 4. 系统测试