1、最短路径

问题:求不带权连通图G中从顶点u到顶点v的一条最短路径。

附:测试用图结构

2、最远顶点
问题:求不带权连通图G中,距离顶点v最远的顶点k

附:测试用图结构

/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:Annpion.cpp
*作者:王耀鹏
*完成日期:2016年1月24日
*版本号:v1.0
*
*问题描述:利用遍历思想求解图问题
*输入描述:无
*输出描述:无
*/
#include <stdio.h>
#include <malloc.h>
#include "Graph.h"
typedef struct
{int data;                   //顶点编号int parent;                 //前一个顶点的位置
} QUEUE;                        //非环形队列类型void ShortPath(ALGraph *G,int u,int v) //最短路径
{int w,i,front=-1,rear=-1,visited[MAXV];ArcNode *p;QUEUE qu[MAXV];for(i=0; i<G->n; ++i)visited[i]=0;++rear;qu[rear].data=u;qu[rear].parent=-1;visited[u]=1;while(rear!=front){++front;w=qu[front].data;if(w==v){printf("从%d到%d的最短路径的逆序:",u,v);i=front;while(qu[i].parent!=-1){printf("%d ",qu[i].data);i=qu[i].parent;}printf("%d \n",qu[i].data);break;}p=G->adjlist[w].firstarc;while(p!=NULL){if(visited[p->adjvex]==0){visited[p->adjvex]=1;++rear;qu[rear].data=p->adjvex;qu[rear].parent=front;}p=p->nextarc;}}
}
int Maxdist(ALGraph *G,int v)
{ArcNode *p;int w,i,rear=-1,front=-1,visited[MAXV],qu[MAXV];for(i=0; i<G->n; ++i)visited[i]=0;visited[v]=1;rear=(rear+1)%MAXV;qu[rear]=v;while(rear!=front){front=(front+1)%MAXV;w=qu[front];p=G->adjlist[w].firstarc;while(p!=NULL){if(visited[p->adjvex]==0){visited[p->adjvex]=1;rear=(rear+1)%MAXV;qu[rear]=p->adjvex;}p=p->nextarc;}}return w;
}
int main()
{ALGraph *G;int A[9][9]={{0,1,1,0,0,0,0,0,0},{0,0,0,1,1,0,0,0,0},{0,0,0,0,1,1,0,0,0},{0,0,0,0,0,0,1,0,0},{0,0,0,0,0,1,1,0,0},{0,0,0,0,0,0,0,1,0},{0,0,0,0,0,0,0,1,1},{0,0,0,0,0,0,0,0,1},{0,0,0,0,0,0,0,0,0}};ArrayToList(A[0], 9, G);ShortPath(G,0,7);printf("离顶点0最远的顶点:%d",Maxdist(G,0));return 0;
}

运行结果:

2015年大二上-数据结构-图-1-(4)-利用遍历思想求解图问题(2)相关推荐

  1. 第十二周项目四----利用遍历思想求解图问题之6最短路径

    /*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观察输出值,掌握相关问题 ...

  2. 第十二周项目四----利用遍历思想求解图问题之7最远顶点

    /*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观察输出值,掌握相关问题 ...

  3. 第十二周项目四----利用遍历思想求解图问题之输出一些简单回路

    /*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观察输出值,掌握相关问题 ...

  4. 第十二周项目四----利用遍历思想求解图问题之输出简单路径

    /*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观察输出值,掌握相关问题 ...

  5. 第十二周项目四----利用遍历思想求解图问题之输出所有路径

    /*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法,要求用区别于示例中的图进行多次测试,通过观察输出值,掌握相关问题 ...

  6. 飞机订票系统 python实现(大二上数据结构课设)

    说明: 本博客是从课设报告中截取的重要部分.这个飞机订票系统是本人大二上的数据结构课设,功能相对完善,界面相对美观.图形界面,本来想用Qt5(python中一个图形界面的类库,风格偏向于win10)去 ...

  7. 第十二周项目4-利用遍历思想求解图问题(6-7)

    /* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第十二周项目4-利用遍历思想求解图问题(6-7) 作 者:佟兴锋 完成日期: ...

  8. 大二上---数据结构课程设计

    课程设计 本次课设共五道题,通过查资料完成 (一)线性结构(链表)题目 joseph环 任务:编号是1,2,-,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数).一开始任选一个正整数作为 ...

  9. 沈阳师范大学大二上数据结构第一章绪论(选择+单选+填空))

    1-1 数据项是数据的最小单位. (2分) T 作者 李廷元 单位 中国民用航空飞行学院 1-1 1-2 数据元素是数据的最小单位. (2分) F 作者 李廷元 单位 中国民用航空飞行学院 1-2 1 ...

最新文章

  1. 小白请上车 | Python抓取花瓣网高清美图
  2. 查询时间范围_MySQL慢查询(中):正确处理姿势,你get到了吗?
  3. iOS学习资源(一)
  4. java数组删除数据_Java 数组 之 一维数组 删除 元素
  5. php循环输出url,PHP 输出URL的快捷方式的实现方法
  6. html打印日志_SpringBoot 2.X Kotlin系列之AOP统一打印日志
  7. OpenCV-信用卡数字识别-03
  8. 身体对腐朽灵魂的一次震撼:向京的雕塑与观众的行为
  9. 三极管放大电路三种类型
  10. 【上海】关于云计算,你想学习哪些知识,快让我来满足你
  11. ubuntu如何杀死进程
  12. 互联网晚报 | 4月13日 星期三 | 阿里云人事大变动;老坛酸菜方便面重返超市货架;工信部:加快5G全连接工厂建设...
  13. win7插了耳机还是外放_有哪些令人叫绝的智障设计?网友:手机取消耳机孔
  14. POJ1201 Intervals 【差分约束】
  15. centOS 安装远程桌面
  16. HNUCM-1435 最大最小值(分治法)
  17. 移动中兴服务器地址,一中国移动宽带各地dns服务器地址.doc
  18. 关于Oppen Live Writer中插入可折叠着色代码的插件
  19. MHDD 4.6 硬盘工具简介、下载、启动盘制作、扫描及修复硬盘坏道、坏道修复原理简介、常用命令等
  20. 发送邮件,javax.mail 与 geronimo-javamail_1.4_spec 的jar包冲突

热门文章

  1. Mysql 备份工具XtraBackup增量备份
  2. 更新3ds时和用读卡器读取传输文件操作不当导致的tf卡损坏无法读取需要格式化时出现的问题以及不想丢失文件并且修复的详细解决方法
  3. 让我们难忘的那些歌曲
  4. Cannot resolve module 'fs'
  5. win10怎么在桌面添加计算机,win10怎么添加我的电脑(计算机)快捷方式到桌面
  6. 计算机操作熟练说明,Mac新手必看教程,教你快速熟练mac电脑操作
  7. java学习2018年_Java 20年
  8. 再见了,并不美好的 PC 互联网
  9. 最给人启迪的30条编程名言
  10. 《C程序设计快速进阶大学教程》第8章编程题