2015年大二上-数据结构-图-1-(2)操作用邻接表存储的图
来源:互联网 发布:php mongodb扩展 编辑:程序博客网 时间:2024/06/05 15:06
假设图G采用邻接表存储,分别设计实现以下要求的算法:
(1)输出出图G中每个顶点的出度;
(2)求出图G中出度最大的一个顶点,输出该顶点编号;
(3)计算图G中出度为0的顶点数;
(4)判断图G中是否存在边<i,j> 。
利用下图作为测试用图,输出结果。
运行结果:
(1)输出出图G中每个顶点的出度;
(2)求出图G中出度最大的一个顶点,输出该顶点编号;
(3)计算图G中出度为0的顶点数;
(4)判断图G中是否存在边
利用下图作为测试用图,输出结果。
/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:Annpion.cpp*作者:王耀鹏*完成日期:2016年1月24日*版本号:v1.0**问题描述:操作用邻接表存储的图*输入描述:无*输出描述:图的基本操作*/#include <stdio.h>#include <malloc.h>#include "graph.h"int OutDegree(ALGraph *G,int v)//返回图G中编号为v的顶点的出度{ int count=0; ArcNode *p; p=G->adjlist[v].firstarc; while(p!=NULL) { ++count; p=p->nextarc; } return count;}void OutDs(ALGraph *G)//输出图G中每个顶点的出度{ int i; for(i=0; i<G->n; ++i) printf(" 顶点%d:%d\n",i,OutDegree(G,i));}void OutMaxDs(ALGraph *G)//输出图G中出度最大的一个顶点{ int maxv=0,maxds=0,i,x; for(i=0; i<G->n; ++i) { x=OutDegree(G,i); if(x>maxv) { maxv=i; maxds=x; } } printf("顶点%d,出度%d\n",maxv,maxds);}void ZeroDs(ALGraph *G)//输出图G中出度为0的顶点数{ int i,x; for(i=0; i<G->n; ++i) { x=OutDegree(G,i); if(x==0) printf("%2d ",i); } printf("\n");}bool Arc(ALGraph *G, int i,int j)//返回图G中是否存在边<i,j>{ ArcNode *p; p=G->adjlist[i].firstarc; while(p!=NULL) { if(p->adjvex==j) return true; p=p->nextarc; } return false;}int main(){ ALGraph *G; int A[7][7]= { {0,1,1,1,0,0,0}, {0,0,0,0,1,0,0}, {0,0,0,0,1,1,0}, {0,0,0,0,0,0,1}, {0,0,0,0,0,0,0}, {0,0,0,1,1,0,1}, {0,1,0,0,0,0,0} }; ArrayToList(A[0], 7, G); printf("(1)各顶点出度:\n"); OutDs(G); printf("(2)最大出度的顶点信息:"); OutMaxDs(G); printf("(3)出度为0的顶点:"); ZeroDs(G); printf("(4)边<2,6>存在吗?"); if(Arc(G,2,6)) printf("是\n"); else printf("否\n"); printf("\n"); return 0;}
运行结果:
0 0
- 2015年大二上-数据结构-图-1-(2)操作用邻接表存储的图
- 操作用邻接表存储的图
- 操作用邻接表存储的图
- 数据结构第十一周项目2--操作用邻接表存储的图
- 第11周 项目2 数据结构实践——操作用邻接表存储的图
- 项目2-操作用邻接表存储的图
- 项目2 - 操作用邻接表存储的图
- 操作用邻接表存储的图1
- 数据结构实践——操作用邻接表存储的图
- 数据结构实践——操作用邻接表存储的图
- 【第十一周】数据结构实践——操作用邻接表存储的图
- 数据结构第十一周项目(二)——操作用邻接表存储的图
- 第十一周项目2-操作用邻接表存储的图(1)
- 图——操作用邻接表存储的图
- 第十二周--操作用邻接表存储的图
- 项目二-操作用邻接表存储的图
- 第十二周项目-- 操作用邻接表存储的图
- 第十二周-操作用邻接表存储的图
- android之本地文件读取
- spark 命令行环境 python
- 动画效果--漫天飞雪
- RW RO ZI ROM keil中的含义
- BZOJ 1415: [Noi2005]聪聪和可可|概率dp
- 2015年大二上-数据结构-图-1-(2)操作用邻接表存储的图
- webrtc
- menu.lst是什么?
- Leetcode 75. Sort Colors
- 【HDOJ 2255】奔小康赚大钱(KM算法)
- android之桌面悬浮框
- LeetCode 160 Intersection of Two Linked Lists(链表相交)(Linked List)(*)
- POJ 1837 二维背包 天平平衡问题
- SQL之模糊查询