精华内容
下载资源
问答
  • C语言交通咨询系统
    2021-12-16 21:28:59

    C语言交通咨询系统

    2.1 问题描述
    设计一个交通咨询系统,能让旅客咨询从任一个城市顶点到另一个城市顶点之间的最短路径或最低费用或最少时间等问题。对于不同咨询要求,可以输入城市间的路程或所需要时间或所需费用。设计分三个部分,一是建立交通网络图的存储结构;二是解决单源最短路径问题;最后再实现两个城市顶点之间的最短路径问题。
    2.2 基本要求
    (1)对城市信息(城市名、城市间的里程)进行编辑:具备添加、修改、删除功能;
    (2)对城市间的两种交通工具(飞机航班和列车时刻表)进行编辑:里程、航班和列车班次的添加、修改、删除;
    (3)提供两种最优决策:最快到达或最省钱到达。全程只考虑一种交通工具,可以不考虑回程;
    (4)旅途中的耗费的总时间应包括中转站的等候时间。其中飞机至少二小时,火车至少一小时;
    (5)咨询以用户和计算机对话方式进行,要注意人机交互的屏幕界面。由用户选择最优决策原则和交通工具,输入起始站、终点站、出发时间。输出信息:最快需要多长时间才能到达及旅费,或者最少需要多少旅费才能到达及时间,并详细说明依次于何时何地乘坐哪一趟班机或列车何时到达何地。

    算法思想

    求单源最短路径需要用到迪杰斯特拉算法,数据采用邻接矩阵或者邻接表存储。

    源码下载

    链接:程序源码下载地址
    提取码:1111

    更多相关内容
  • 全国交通旅游点 c或c++交通咨询系统,能让旅客咨询从任一个城市到另一个城市之间的最短路径
  • 交通咨询系统-C语言

    2018-06-06 19:50:00
    设计一个交通咨询系统能让旅客咨询任一城市顶点到另一城市顶点之间的最短路径(里程)或最低花费或最少时间等问题。对于不同咨询要求,可输入城市间的路程或所需时间或所需费用。 完成功能的详细说明: 1.创建...
  • 设计一个交通咨询系统能让旅客咨询任何一个城市顶点到另一城市顶点之间的最短路径(里程)、最低花费或是最少时间等问题。对于不同的咨询要求,可输入城市间的路程、所需时间或是所需费用等信息。
  • 能让旅客咨询从任一城市顶点到另一个城市的最短路径或最低费用或最少时间等问题。 1、对城市信息进行编辑:增加、删除、修改功能2、对城市间的交通工具:汽车、飞机、火车班次的增添、修改、删除3、三种最有决策:...
  • 在实现交通咨询系统时要实现以下几个方面的管理功能: (1) 存储交通网信息 (2) 查找一个城市到其他城市的最短距离 (3) 查找一个城市到其他城市的最佳路径 (4) 查找两个城市之间的最短距离 (5) 查找两个...
  • 交通咨询系统设计实验报告,我自己做的,传上来大家一起享用
  • 交通咨询系统设计课程设计课 程 设 计 报 告课程名称 数据结构课题名称 交通咨询系统专 业班 级学 号姓 名指导教师2013 年 月 日设计内容与设计要求1设计内容[问题描述]在交通网络非常发达的今天,人们出差、旅游或...

    交通咨询系统设计课程设计

    课 程 设 计 报 告

    课程名称 数据结构

    课题名称 交通咨询系统

    专 业

    班 级

    学 号

    姓 名

    指导教师

    2013 年 月 日

    设计内容与设计要求

    1设计内容

    [问题描述]在交通网络非常发达的今天,人们出差、旅游或做其他出行时,不仅关心节省交通费用,而且对里程和所需时间等问题也很感兴趣。对于这样一个人们关心的问题,可用一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系统。图中顶点表示城市,边表示城市之间的交通关系。设计一个交通咨询系统,能让旅客咨询从任一个城市顶点到达另外一个城市顶点之间的最短路径(里程)的问题。

    [基本]

    1).根据实际情况,先建立交通网络图的存储结构。

    ).求某个城市到达其余各城市的最短路径。

    ).任一输入两个城市,要求求出他们之间的最短路径。

    2设计要求:

    目录

    一、需求分析1

    1.1.程序的功能1

    1.2要求1

    二、概要设计1

    2.1 系统1

    2.1各模块4

    2.21 用邻接矩阵构造图结构函数CreateMGraph()4

    2.22 费洛伊德Floyd()5

    2.23狄克斯特拉Dijkstra()6

    三、详细设计7

    3.1各模块流程图及其函数调用7

    3.11主要函数流程图:7

    3.12 一个城市到其他城市的路径调用8

    3.13 任意两个城市之间路径调用8

    3.2各模块C类算法9

    3.21 创建交通网络的邻接矩阵算法9

    3.22查询某一城市至其他所有城市的最短路径算法9

    3.23 查询任意两个城市之间路径的算法

    四、11

    五、…………………………………………………………………………………13

    六、………………………………………………………………………………….14

    七、附录

    八、……………………………………………………………………………………20

    一、需求分析

    1.1.程序的功能

    (1).用户自己可以建立不同的路径之间的关系网

    (2).可以查询某个城市到达其余各城市的最短路径。

    (3).可以任一查询两个城市之间的最短路径。

    1.2输入输出的要求。

    在刚进入主界面后系统提示输入建立交通网络储存结构,输入顶点个数和和边数为整数不能输入其他字符,随后系统提示输入边与边之间的关系分别为i,j,w表示边之间的距离。然后进入查询页面,输入整数1,2,0分别表示你所要查询的功能:一个城市至其他所有城市的最短路径查询、任意两个城市之间的最短路径查询、退出程序。不能输入其他字符否则不能执行操作。在整个操作都是用整数表示城市。二、概要设计

    2.1 系统用邻接矩阵建立交通网络模块

    查询任意两个顶点之间的最短路径

    图弗洛伊德算法

    查询一个城市到其他所有城市的最短路径

    图:狄克斯特拉算法

    整个函数流程模块

    图:主程序

    2.各模块2.21 用邻接矩阵构造图结构函数CreateMGraph()

    其中vexs[MAX]保存顶点信息,arcs[MAX][MAX]用于保存边与边之间的信息。在构建时通过输入的边数i,j作为矩阵的行、列确定顶点的出度和入度。用邻接矩阵方法存储图,很容易确定图的任意两个顶点是否是有边相连,因此用邻接矩阵对有利于后面费洛伊德算法和狄克斯特拉算法。

    数据类型定义:

    typedef struct

    {

    VertexType vexs[MAX];

    Adjmatrix arcs[MAX][MAX];

    }MGraph;

    邻接矩阵的程序代码:

    for(k=1;k<=e;k++)

    {

    printf(" 第%d条边的信息:",k);

    scanf("%d,%d

    展开全文
  • 旅客咨询从任一个城市顶点到另一个城市顶点之间的最短路径或最低费用或最少时间等问题。对于不同咨询要求,可以输入城市间的路程或所需要时间或所需费用。可用实例来验证迪杰斯特拉算法。要求“ 建立交通网络图的...
  • 对于这样一个人们关心的问题,通过建立交通网络图的存储结构图,提供用户查询的功能,功能一:通过输入城市名及任意两个城市的距离,查询任意两个城市之间的最短距离,从而达到最省目的;功能二:通过输入城市名以及...

    在交通网络非常发达、交通工具和交通方式不断更新的今天,

    人们在出差、旅游或做其他出行时,不仅关心节省交通费用,而且对里程和所需时间等问题也感兴趣。对于这样一个人们关心的问题,通过建立交通网络图的存储结构图,提供用户查询的功能,功能一:通过输入城市名及任意两个城市的距离,查询任意两个城市之间的最短距离,从而达到最省目的;功能二:通过输入城市名以及任意两个程序的距离,查询中转路线最少。程序所具有的功能特色本程序主要目的是为了给用户提供路径咨询,可以通过输入设置,延续程序的拓展性。

    设计要求及分析

    设计一个交通咨询系统,能让旅客咨询从任一个城市顶点到另一城市顶点之间的中转次数最少问题或最低花费或最少时间(最短路径)问题。

    该设计共分三个部分:一是建立交通网络图的存储结构;二是解决单源最短路径问题;最后再实现任意两个城市顶点之间的最短路径问题。

    1. 建立交通网络图的存储结构

    要实现设计要求,首先要定义交通图的存储结构:邻接链表和邻接矩阵;

    2. 解决任意两个城市顶点之间的中转次数最少的问题;

    3. 解决任意两个城市顶点之间的最短路径(最低花费或最少时间)问题。

    54bc68b979adf0be5e795c835a4c435b.png

    797789d50f29af0d4905e99ae104053a.png

    展开全文
  • 数据结构课程设计 ---交通咨询系统 数据结构课程设计 ---交通咨询系统
  • 交通网络日益发达的今天,针对人们关心的各种问题,利用计算机建立一个A城市交通咨询系统。在系统中采用图来构造各个城市之间的联系,图中顶点表示城市,边表示各个城市之间的交通关系,所带权值为两个城市间的...
  • 交通咨询系统设计(数据结构 C语言)

    千次阅读 多人点赞 2021-07-15 12:59:53
    设计一个交通咨询系统能让乘客咨询从一个城市顶点到另一个城市顶点之间的最短路径或者最低费用或最少时间等问题。对于不同咨询需求,可以输入城市间的路程或所需要时间或费用。设计分三个部分,一是建立交通网络图...

    一、实验目的

            1)熟悉并掌握图的存储结构;

            2)熟悉并掌握单个最短路径算法;

            3)熟悉并掌握任意两个顶点之间的最短路径算法。

    二、实验内容

            设计一个交通咨询系统,能让乘客咨询从一个城市顶点到另一个城市顶点之间的最短路径或者最低费用或最少时间等问题。对于不同咨询需求,可以输入城市间的路程或所需要时间或费用。设计分三个部分,一是建立交通网络图的存储结构;二是解决单源最短路径问题;最后再实现两个城市顶点之间的最短路径问题。

    要求:

            1)构建城市信息有向图,可以以城市名为节点名,城市之间采用交通工具的时间或费用为边的权值进行构建;

            2)可以在已构建的城市信息图中添加新的城市、删除已有城市或编辑已有城市及其相关的边;

            3)给出从一个城市到其他各个城市所花费的最短时间或最低费用;

            4)提供一种最快或最省钱的方式到达;如输入两个城市名,给出从一个城市到另一个城市的最短时间或最低费用。

    三、实验步骤

            1)定义图的存储方式;

            2)构建图; 

            3)定义main函数,并列出菜单:包括添加一个城市;删除一个城市;编辑一个城市;一个城市到其他城市之间的最短路径;任意两个城市之间的最短路径等

            4)定义每个菜单的函数;

            5)实现各个功能。

            菜单类似于:

            printf("******求城市之间的最短路径******\n");

            printf("============================================\n");

            printf("1.求一个城市到所有城市的最短路径\n");

            printf("2.求任意的两个城市之间的最短路径\n");

            printf("3.添加新的城市\n");

            printf("4.删除已有的城市\n");

            printf("5.编辑已有的城市\n");

            printf("6.退出\n");

            printf("============================================\n");

            printf("请选择: 1 、2、3、4、5,6");

    四、算法流程图

    流程图1

     流程图2

    流程图3 

     五、实现代码

    #include "stdio.h"
    #include "string.h"
    #include "stdlib.h"
    #include "io.h"
    #include "math.h"
    #include "time.h"
    #define OK 1
    #define ERROR 0
    #define TRUE 1
    #define FALSE 0
    #define MAXEDGE 20
    #define MAXVEX 20
    #define INFINITY 65535
    #define N 100
    int s;
    typedef int Status;    /* Status是函数的类型,其值是函数结果状态代码,如OK等 */
    typedef struct Vextype{
        char city[N];
        int num;
    };
    typedef struct
    {
        Vextype vexs[MAXVEX];
        int arc[MAXVEX][MAXVEX];
        int numVertexes, numEdges;
    }Mgraph;
    typedef int Patharc[MAXVEX][MAXVEX];
    typedef int ShortPathTable[MAXVEX][MAXVEX];
    int zhuanhua(Mgraph g,char city[]){
        int i,city1,k=0;
        for (i=0;i<=g.numVertexes;i++){
                if (strcmp(city,g.vexs[i].city)==0)
                {
                    city1=g.vexs[i].num;
                    k=1;
                }
        }
        return city1;
    }
    /* 构件图 */
    void CreateMgraph(Mgraph &g)
    {
        int i, j;
        char m[N],n[N];
        int m1,n1;
        printf("请输入城市数和路线数:");
        scanf("%d%d",&g.numVertexes,&g.numEdges);
        for (i=0;i<g.numVertexes; i++)//初始化图
        {
            g.vexs[i].num=i;
        }
        printf("请输入相对应的城市:\n");
        for (i=0;i<g.numVertexes; i++)
        {
            printf("第%d个城市:",i+1);
            scanf("%s",&g.vexs[i].city);
        }
        for (i=0;i<g.numVertexes;i++)/* 初始化图的邻接矩阵*/
        {
            for (j=i;j<g.numVertexes;j++)
            {
                if (i==j)
                    g.arc[i][j]=0;
                else
                    g.arc[i][j]=g.arc[j][i]=INFINITY;
            }
        }
        printf("\n");
        printf("请输入%d条路径信息如下:\n",g.numEdges);
        printf("起点城市 终点城市 路径长度\n");
        for (i=0;i<g.numEdges;i++)
        {
            scanf("%s%s",&m,&n);
            m1=zhuanhua(g,m);
            n1=zhuanhua(g,n);
            scanf("%d",&g.arc[m1][n1]);
        }
    }
    int test(Mgraph g,char city[]){//测试输入的城市是否存在
        int k=0;
        for (int i=0;i<g.numVertexes;i++){
            if (strcmp(g.vexs[i].city,city)==0){
                k=1;
                break;
            }
        }
        return k;
    }
    /* Floyd算法,求网图G中各顶点v到其余顶点w的最短路径P[v][w]及带权长度D[v][w]。 */
    void ShortestPath_Floyd(Mgraph G, Patharc &P, ShortPathTable &D)
    {
        int v,w,u,op;
        char city1[N],city2[N];
        int a,b,k,i;
        for(v=0; v<G.numVertexes; ++v) /* 初始化D与P */
        {
            for(w=0; w<G.numVertexes; ++w)
            {
                D[v][w]=G.arc[v][w];    /* D[v][w]值即为对应点间的权值 */
                P[v][w]=w;                /* 初始化P */
            }
        }
        for(u=0;u<G.numVertexes;++u)
        {
            for(v=0;v<G.numVertexes;++v)
            {
                for(w=0;w<G.numVertexes;++w)
                {
                    if (D[v][w]>D[v][u]+D[u][w])
                    {//如果经过下标为k顶点路径比原两点间路径更短
                        D[v][w]=D[v][u]+D[u][w];//将当前两点间权值设为更小的一个
                        P[v][w]=P[v][u];//路径设置为经过下标为u的顶点
                    }
                }
            }
        }
        int s;
        while (1){
            printf("========================================\n");
            printf("1.求一个城市到所有城市的最短路径\n");
            printf("2.求任意的两个城市之间的最短路径\n");
            printf("3.退出\n");
            printf("========================================\n");
            printf("请选择:");
            scanf("%d",&op);
            switch (op){
                case 1:{
                    printf("请输入起点城市:");
                    scanf("%s",&city1);
                    while (1){
                        s=test(G,city1);
                        if (s==1) break;
                        else{
                            printf("该城市不存在!请重新输入!\n");
                            printf("请输入起点城市:");
                            scanf("%s",&city1);
                        }
                    }
                    a=zhuanhua(G,city1);
                    printf("%s到各城市最短路径如下:\n",G.vexs[a].city);
                    for(w=0;w<G.numVertexes;w++)
                    {
                        if (D[a][w]!=INFINITY){
                            printf("%s - %s 最短路径为: %d ",G.vexs[a].city,G.vexs[w].city,D[a][w]);
                            k=P[a][w];             //获得第一个路径顶点下标
                            printf(" 路径为: %s",G.vexs[a].city);   //打印源点
                            while(k!=w)          //如果路径顶点下标不是终点
                            {
                                printf(" -> %s",G.vexs[k].city);   //打印路径顶点
                                k=P[k][w];         //获得下一个路径顶点下标
                            }
                            printf(" -> %s\n",G.vexs[w].city);    //打印终点
                        }
                        printf("\n");
                    }
                    break;
                }
                case 2:{
                    printf("请输入起点城市:");
                    scanf("%s",&city1);
                    while (1){
                        s=test(G,city1);
                        if (s==1) break;
                        else{
                            printf("该城市不存在!请重新输入!\n");
                            printf("请输入起点城市:");
                            scanf("%s",&city1);
                        }
                    }
                    a=zhuanhua(G,city1);
                    printf("请输入终点城市:");
                    scanf("%s",&city2);
                    while (1){
                        s=test(G,city2);
                        if (s==1) break;
                        else{
                            printf("该城市不存在!请重新输入!\n");
                            printf("请输入终点城市:");
                            scanf("%s",&city2);
                        }
                    }
                    b=zhuanhua(G,city2);
                    if (D[a][b]!=0&&D[a][b]!=INFINITY){
                        printf("%s - %s 最短路径为: %d ",G.vexs[a].city,G.vexs[b].city,D[a][b]);
                        k=P[a][b];                //获得第一个路径顶点下标
                        printf(" 路径为: %s",G.vexs[a].city);    //打印源点
                        while(k!=b)                //如果路径顶点下标不是终点
                        {
                            printf(" -> %s",G.vexs[k].city);    //打印路径顶点
                            k=P[k][b];            //获得下一个路径顶点下标
                        }
                        printf(" -> %s\n",G.vexs[b].city);    //打印终点
                    }
                    else
                        printf("%s到%s不存在路线!",G.vexs[a].city,G.vexs[b].city);
                    printf("\n");
                    break;
                }
            }
            if (op==3) break;
        }
    }
    void add(Mgraph &g){//添加新城市
        int i,j,path,a,b,c;
        int num,m1,n1;
        char city1[N],city2[N];
        char m[N],n[N];
        g.numVertexes++;
        b=g.numVertexes;
        printf("请输入需要添加的新城市:");
        scanf("%s",&g.vexs[b-1].city);
        g.vexs[b-1].num=b-1;
        printf("请输入需要添加的路线数:");
        scanf("%d",&c);
        g.numEdges=g.numEdges+c;
        g.arc[b-1][b-1]=0;//初始化距离
        for (int i=0;i<g.numVertexes-1;i++){
            g.arc[i][b-1]=INFINITY;
            g.arc[b-1][i]=INFINITY;
    
        }
        for (i=0;i<c;i++){
            printf("请输入第%d个存在路线的城市:",i+1);
            scanf("%s",&city2);
            while (1){
                s=test(g,city2);
                if (s==1) break;
                else{
                    printf("该城市不存在!请重新输入!\n");
                    printf("请输入存在路线城市:");
                    scanf("%s",&city2);
                }
            }
            printf("请输入城市之间距离:");
            scanf("%d",&path);
            a=zhuanhua(g,city2);
            g.arc[b-1][a]=path;
            printf("\n");
        }
    }
    void Delete(Mgraph &g){//删除已有城市
        int i,k=0;
        int row,col;
        char city[N];
        printf("请输入要删除的城市:");
        scanf("%s",&city);
        while (1){
            s=test(g,city);
            if (s==1) break;
            else{
                printf("该城市不存在!请重新输入!\n");
                printf("请输入要删除的城市:");
                scanf("%s",&city);
            }
        }
        for (i=0;i<=g.numVertexes;i++){
            if (strcmp(city,g.vexs[i].city)==0)
            {
                k=g.vexs[i].num;
                break ;
            }
        }
        for (i=k;i<g.numVertexes;i++){
            g.vexs[i]=g.vexs[i+1];
        }
        g.numVertexes--;
        for (i=0;i<g.numVertexes;i++){
            g.vexs[i].num=i;
        }
        for (row=k;row<g.numVertexes;row++){
            for (col=k;col<g.numVertexes;col++){
                g.arc[row][col]=g.arc[row+1][col+1];
            }
        }
        printf("城市%s已删除!\n",city);
    }
    void edit(Mgraph &g){//编辑已有城市
        int i,k=0,path;
        int a,b;
        char city1[N],city2[N];
        printf("请输入需要修改的城市:");
        scanf("%s",&city1);
        while (1){
            s=test(g,city1);
            if (s==1) break;
            else{
                printf("该城市不存在!请重新输入!\n");
                printf("请输入需要修改的城市:");
                scanf("%s",&city1);
            }
        }
        printf("请输入另外一个城市:");
        scanf("%s",&city2);
        while (1){
            s=test(g,city2);
            if (s==1) break;
            else{
                printf("该城市不存在!请重新输入!\n");
                printf("请输入需要修改的城市:");
                scanf("%s",&city2);
            }
        }
        printf("城市距离:");
        scanf("%d",&path);
        a=zhuanhua(g,city1);
        b=zhuanhua(g,city2);
        g.arc[a][b]=path;
    }
    void output(Mgraph &g){//遍历所有城市,并输出每个城市信息
        printf("城市编号\t城市\n");
        for (int i=0;i<g.numVertexes;i++){
            printf("%d\t\t%s\n",g.vexs[i].num,g.vexs[i].city);
        }
        printf("\n");
        printf("构建的邻接矩阵如下所示.\n");
        for(int i=0;i<g.numVertexes;i++)
        {
            for(int j=0;j<g.numVertexes;j++)
            {
                printf("%-8d ", g.arc[i][j]);
            }
            printf("\n");
        }
    }
    int main()
    {
        int v,w,k,op;
        Mgraph G;
        Patharc P;
        ShortPathTable D; /* 求某点到其余各点的最短路径 */
        while(1){
            printf("*********求城市之间的最短路径*********\n");
            printf("===================================\n");
            printf("\t1.建立城市图\n");
            printf("\t2.显示每个城市信息\n");
            printf("\t3.求城市的最短路径\n");
            printf("\t4.添加新的城市\n");
            printf("\t5.删除已有的城市\n");
            printf("\t6.编辑已有的城市\n");
            printf("\t7.退出\n");
            printf("===================================\n");
            printf("请选择:");
            scanf("%d",&op);
            switch (op){
                case 1:{
                    CreateMgraph(G);
                    printf("城市图完成建立!\n\n");
                    break;
                }
                case 2:{
                    output(G);
                    printf("\n");
                    break;
                }
                case 3:{
                    ShortestPath_Floyd(G,P,D);
                    printf("\n");
                    break;
                }
                case 4:{
                    add(G);
                    printf("已成功添加新的城市!\n\n");
                    break;
                }
                case 5:{
                    Delete(G);
                    printf("\n");
                    break;
                }
                case 6:{
                    edit(G);
                    printf("已成功编辑城市!\n\n");
                    printf("\n");
                    break;
                }
            }
            if (op==7) break;
        }
        return 0;
    }
    

    六、运行结果及分析

    1、建立城市图(经检验,图已建成,城市信息已存储) 

     2、显示每个城市对应编号以及邻接矩阵

    3、求城市的最短距离

           1)求一个城市到所有城市的最短距离

                  当输入城市不存在时,会提示该城市不存在!请重新输入!直至输入存在的城市。

    (2)求任意的两个城市之间的最短距离

            1.当输入城市不存在时,会提示该城市不存在!请重新输入!直至输入存在的城市

            2.当输入的起点城市和终点城市之间不存在路线时,输出不存在路线!

     4、添加新的城市

             经验证,新城市已经添加成功。

    5、删除已有城市 

            经验证,城市已被删除成功。

    6、编辑已有城市

             经验证,编辑城市成功。

    7、退出城市交通咨询系统

    展开全文
  • 设计一个咨询交通系统能让旅客咨询从任一个城市到另一个城市之间的最短路径(里程)、最低费用或者最少时间等问题。对于不同的咨询要求,可以输入城市间路程、所需时间或者所需费用。 设计分3个部分: 1、 建立...
  • 数据结构课程设计

    2017-11-01 20:57:41
    设计并实现一个交通咨询系统能让旅客咨询从任一个城市顶点到另一个城市顶点之间的最短路径问题。要求:能够输出旅客所走的路线和所走路径(或所需花费或所需时间等)
  • 交通咨询系统(最短路径问题)

    千次阅读 多人点赞 2020-06-01 11:30:26
    一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系统。图中的顶点表示城市,边表示城市之间的交通关系。这个交通系统可以回答出行旅客提出的各种路径选择问题。例如,问题之一:“一位旅 客要 A 城到 B...
  • 设计、实现一个全国大城市间的交通咨询程序,为旅客提供三种最优决策方案:(1)时间最短(2)费用最小(3)中转次数最少。 2.2 需求分析 该程序所做的工作的是模拟全国交通咨询,为旅客提供三种最优决策的交通...
  • 适合数据结构课设,运用了迪杰斯特拉(Dijkstra)算法,计算最短路径问题.这是一个交通导航系统。用一个图结构来表示交通网络系统,利用...能让旅客咨询从任一个城市顶点到达另外一个城市顶点之间的最短路径(里程)。
  • 交通咨询系统

    2012-12-18 21:28:53
    一个图结构来表示交通网络系统,利用计算机建立一个交通咨询系统。图中顶点表示城市,边表示城市之间的交通关系。这个交通系统可以回答旅客提出的各种问题。
  • 设计一个交通咨询系统能让旅客咨询从任一个城市顶点到另一城市顶点之间的中转次数最少问题或最低花费或最少时间(最短路径)问题。 该设计共分三个部分:一是建立交通网络图的存储结构;二是解决单源最短路径问题;...
  • 全国交通咨询模拟系统C实现(课程设计报告)全国交通咨询模拟设计目的掌握线性表、栈、图结构和对文件的操作,学习屏幕编辑和菜单技术,掌握用最短路径及其搜索算法编制较综合性的程序,用图的邻接存储结构求解...
  • 设计一个交通咨询系统能让旅客咨询任一城市顶点到另一城市顶点之间的最短路径(里程)或最低花费或最少时间等问题。对于不同咨询要求,可输入城市间的路程或所需时间或所需费用。 完成功能的详细说明: 1.创建...
  • 设计一个交通系统能让旅客咨询从任一个城市顶点到另一个城市顶点之间的最短路径或最低花费或最少时间等问题。对于不同咨询要求,可输入城市间的路程所需时间按或所需费用。
  • 综合运用了C++编程技术和Dijkstra算法和Floyd算法,用VS2010设计实现一个简单的城市之间最短路径管理软件,该软件能够模拟实现简单的路径维护、求解单源最短路径、求解所有节点间最短路径等功能。
  • 编制一个全国城市间的交通咨询程序,为旅客提供两种或三种最优决策的交通咨询。 【设计要求】 (1)提供对城市信息进行编辑(如:添加或删除)的功能。 (2)城市之间有两种交通工具:火车和飞机。提供对列车时刻表...
  • 为了满足广大旅客的需求,编制一个城市交通咨询模拟系统,选取城市部分位置、道路抽象为程序所需要图的顶点和边,并以城市道路长度(路程),道路的某时段的速度等信息作为图结点中的弧信息,为旅客提供这两种最优...
  • 设计实现一个全国大城市间的交通咨询程序,为旅客提供三种最优决策方案: (1)飞行时间最短 (2)费用最小 (3)中转次数最少 数据如下: 机 号 出 发 地 到 达 地 出发...
  • 数据结构实验:城市交通咨询模拟系统

    千次阅读 多人点赞 2020-04-16 23:04:12
    2.任务:设计一个城市交通咨询模拟系统,利用该系统实现至少两种最优决策:最短路程到达、最省时到达等线路规划。 二、 实验内容及要求 1、 任务描述 实验内容: 用户驾车出行由于出行目的的不同对道路路线选择的...
  • C语言设计城市最短路径查询,含程序代码,可以作为人工智能之类的大作业
  • 设计目的 软件算法综合设计是理论教学的深化和补充,具有较强的实践性,是电气信息类各专业的一门重要的实践环节必修课,涵盖《程序设计基础》、《离散结构》、《面向对象程序设计》、《算法与数据结构》等课程...

空空如也

空空如也

1 2 3 4 5 6
收藏数 120
精华内容 48
关键字:

设计一个交通咨询系统,能让旅客咨询从任一个城市顶点