数据结构——数据结构算法之《图》
文章目录
- 图的定义和术语
- 连通图(强连通图)
- 连通分量(强连通分量)
- 有向图和无向图的工程案例
图的定义和术语
完全图:任意两个点都有一条边相连
连通图(强连通图)
连通分量(强连通分量)
有向图和无向图的工程案例
#include "pch.h"
#include <iostream>
using namespace std;//有向图 无向图 有向网 无向网
enum GraphKing { DG, DN, UDG, UDN };//定义图
typedef struct Node
{int *vex; //顶点个数int vexnum; //顶点数int edge; //图的边数int **adjmatrix;//图的邻接矩阵GraphKing kind; //图的类型
}Mygraph;//创建图
void CreateGraph(Mygraph &g,GraphKing king)
{cout << "请输入图的顶点个数:";cin >> g.vexnum;cout << "请输入图的边的条数:";cin >> g.edge;g.kind = king;//确认创建图的类型//开辟空间g.vex = new int[g.vexnum];g.adjmatrix = new int*[g.vexnum];cout << "输出顶点个数:" << g.vexnum << endl;//给邻接矩阵申请空间for (int i = 0; i < g.vexnum; i++){g.adjmatrix[i] = new int[g.vexnum];}//给邻接矩阵初始化for (int j = 0; j < g.vexnum; j++){for (int k = 0; k < g.vexnum; k++){if (g.kind==DG||g.kind==DN){g.adjmatrix[j][k] = 0;}else{g.adjmatrix[j][k] = INT_MAX;}}}//输入图的顶点cout << "请输入两个顶点的序号(1,2分别代表1号顶点和2号顶点):" << endl;;for (int i = 0; i < g.edge; i++){int a, b;cout << "请依次输入图(vi, vj)的vi和vj:";cin >> a >> b;//无向图if (g.kind==DN){g.adjmatrix[b - 1][a - 1] = 1;g.adjmatrix[a - 1][b - 1] = 1;}//有向图else if (g.kind==DG){g.adjmatrix[a - 1][b - 1] = 1;}//有向网else if (g.kind==UDG){int weight;cout << "请输入该边的权:";cin >> weight;g.adjmatrix[a - 1][b - 1] = weight;}else if (g.kind == UDN){int weight;cout << "请输入该边的权:";cin >> weight;g.adjmatrix[a - 1][b - 1] = weight;g.adjmatrix[a - 1][b - 1] = weight;}}
}//输出图
void PrintGraph(Mygraph g)
{for (int i = 0; i <g.vexnum; i++){for (int j = 0; j < g.vexnum; j++){//有/无向网if (g.adjmatrix[i][j]==INT_MAX){cout << "∞" << endl;}else{cout << g.adjmatrix[i][j] << " ";}}cout << endl;}
}//清除图
void ClearGraph(Mygraph g)
{delete g.vex;g.vex = NULL;for (int i = 0; i < g.vexnum; i++){delete g.adjmatrix[i];g.adjmatrix[i] = NULL;}delete g.adjmatrix;
}
int main()
{Mygraph g;cout << "有向图案例:" << endl;CreateGraph(g, DG);PrintGraph(g);ClearGraph(g);cout << endl;cout << "无向图案例:" << endl;CreateGraph(g, DN);PrintGraph(g);ClearGraph(g);cout << endl;return 0;
}
结果为:
数据结构——数据结构算法之《图》相关推荐
- python函数结构图_Python数据结构与算法之图结构(Graph)实例分析
本文实例讲述了Python数据结构与算法之图结构(Graph).分享给大家供大家参考,具体如下: 图结构(Graph)--算法学中最强大的框架之一.树结构只是图的一种特殊情况. 如果我们可将自己的工作 ...
- python define graph_Python数据结构与算法之图结构(Graph)实例分析
本文实例讲述了Python数据结构与算法之图结构(Graph).分享给大家供大家参考,具体如下: 图结构(Graph)--算法学中最强大的框架之一.树结构只是图的一种特殊情况. 如果我们可将自己的工作 ...
- python棋盘最短路径_Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例...
本文实例讲述了Python数据结构与算法之图的最短路径(Dijkstra算法).分享给大家供大家参考,具体如下: # coding:utf-8 # Dijkstra算法--通过边实现松弛 # 指定一个 ...
- 特征图注意力_从数据结构到算法:图网络方法初探
作者 | 朱梓豪 来源 | 机器之心 原文 | 从数据结构到算法:图网络方法初探 如果说 2019 年机器学习领域什么方向最火,那么必然有图神经网络的一席之地.其实早在很多年前,图神经网络就以图嵌入. ...
- 数据结构与算法之-----图(拓扑排序)
[ 写在前面的话:本专栏的主要内容:数据结构与算法. 1.对于初识数据结构的小伙伴们,鉴于后面的数据结构的构建会使用到专栏前面的内容,包括具体数据结构的应用,所使用到的数据 ...
- 数据结构与算法之-----图(搜索算法)
[ 写在前面的话:本专栏的主要内容:数据结构与算法. 1.对于初识数据结构的小伙伴们,鉴于后面的数据结构的构建会使用到专栏前面的内容,包括具体数据结构的应用,所使用到的数据结构,也是自己 ...
- 数据结构与算法之图的应用
数据结构与算法之图的应用 图的定义和基本概念 图的实现 数组〈邻接矩阵〉 邻接表 图的应用 最小生成树 Prim(普里姆)算法 Kruskal(克鲁斯卡尔)算法 最短路径 迪克斯特拉算法 拓扑排序 执 ...
- 数据结构与算法--符号图
数据结构与算法--符号图 为了计算简单,传统的图中,都是使用整数来表示顶点,这样难免会有点抽象,不能直接反映各个顶点代表的信息.在实际生活中,使用图时一般会建立一个一一对应的关系表,如下 顶点 0 1 ...
- js数据结构和算法(8)-图
8-图(第11章) 8.1 图的定义 图是一种非线性结构,由一系列顶点及其连接顶点的边组成.比如A和B.A和D是相邻的,而A和E不是相邻的.一个顶点相邻顶点的数量叫作度,比如A的度为3.D的度为4.路 ...
- 【数据结构与算法】图
一:如何理解"图" 1,图和树一样都是非线性表数据结构,和树不同的是图是一种更加复杂的非线性表结构 2,树中的元素称之为节点,图中的元素则称之为顶点. 3,顶点可以与任意其他顶点建 ...
最新文章
- 借助tkinter设计人脸检测的界面(摄像头检测,视频检测,视频检测并保存)
- 一流大学计算机专业都用什么教材,高校IT教材严重落后_网易科技报道
- 努力学习 HTML5 (3)—— 改造传统的 HTML 页面
- @SpringBootApplication揭秘
- nodejs学习(一)--express+ejs生成项目
- centos7安装jdk只有几k的坑
- 性能测试工具JMeter的安装及环境配置--Windows和Linux
- 【Vue】Aliplayer 视音频播放的实践与思考
- 微信小程序:人生重开模拟器
- Windows2012开机启动项设置
- 在HBuilder上打开PHP文件
- 如何区分项目组合管理,项目集管理,和项目管理
- 汽车自动变速器的共性技术
- 题解 P2184 【贪婪大陆】
- 【小白转型项目经理】实战案例14,总价合同如何向甲方申请其他费用补偿?
- Windows 10与微软公有云Azure
- XGBoost原理介绍
- mysql分组之后再求和
- C# Windows 7任务栏开发之进度条(Progress Bar)
- 基于Java毕业设计校园面包超市系统源码+系统+mysql+lw文档+部署软件
热门文章
- 植物基因编辑最新政策解读(2021年7月)
- VSCode实现Cesium的自动提示功能
- 西安电子科技大学c语言答案,西安电子科技大学2021春 面向对象程序设计(C++)大作业答案...
- SSM框架基于web的房屋租售管理系统源码+论文第二稿+软件环境+包安装调试
- js动画和css3动画的差异性
- ssm+JSP计算机毕业设计工伤事故管理系统bzc3b【源码、程序、数据库、部署】
- 改善羽毛球比赛心理有“妙招”
- 在线制作简易业务流程图
- 阻容感基础05:电容器原理(2)-电容器参数
- 从权力的游戏谈用户画像