图数据结构:顶点结点和图的定义
需积分: 0 9 浏览量
更新于2024-08-23
收藏 1.67MB PPT 举报
顶点结点-数据结构图
在数据结构中,图是一种复杂的数据结构,它们之间的关系是任意的。图中任意两点之间都可能相关。在本节中,我们将讨论图的定义、术语和基本概念。
图的定义
图(Graph)是由两个集合V(G)和E(G)组成的,记为G=(V,E),其中:
* V(G)是顶点的非空有限集
* E(G)是边的有限集合,边是顶点的无序对或有序对
有向图
有向图G是由两个集合V(G)和E(G)组成的,其中:
* V(G)是顶点的非空有限集
* E(G)是有向边(也称弧)的有限集合,弧是顶点的有序对,记为<v,w>,v,w是顶点,v为弧尾,w为弧头
无向图
无向图G是由两个集合V(G)和E(G)组成的,其中:
* V(G)是顶点的非空有限集
* E(G)是边的有限集合,边是顶点的无序对,记为(v,w)或(w,v),并且(v,w)=(w,v)
顶点和弧
顶点:图中的数据元素通常称作顶点。
弧:若<v,w>∈r,则<v,w>表示从v到w有一条弧。且称v为弧尾(tail或initial node),w为弧头(head或terminal node),此时的图称为有向图。
无向图:若<v,w>∈r必有<w,v>∈r,即r是对称的,表示v到w有一条边,此时图为无向图。
图的抽象数据类型
Adt Graph={
数据对象v:v是具有相同特性的数据元素的集合,成为顶点集。
数据关系r:
R={vr}vr={<v,w>|v,w∈V(G)且p(v,w)表示从v到w的弧,谓词p(v,w)定义了弧<v,w>的意义或信息。}
操作p:
略
图的存储结构
在计算机中,图可以用邻接矩阵或邻接表来存储。邻接矩阵是一种二维数组,数组的每个元素表示两个顶点之间是否存在边。邻接表是一种链表,每个链表节点对应一个顶点,链表中的每个元素表示与该顶点相连的所有顶点。
顶点结点的数据结构
typedef struct dnode
{
int data; //存与顶点有关信息
struct arcnode *firstin; //指向以该顶点为弧头的第一个弧结点
struct arcnode *firstout; //指向以该顶点为弧尾的第一个弧结点
}DD;
DD g[M]; //g[0]不用
data firstin firstout
在上面的代码中,我们定义了一个顶点结点的数据结构,包括数据字段data、指向以该顶点为弧头的第一个弧结点的指针firstin和指向以该顶点为弧尾的第一个弧结点的指针firstout。
图的应用
图是一种重要的数据结构,它广泛应用于计算机科学和其他领域,如社交网络、交通网络、计算机网络等。图的应用包括:
* 社交网络分析
* 交通网络优化
* 计算机网络拓扑结构
* 数据挖掘
图是一种复杂的数据结构,它们之间的关系是任意的。图的定义、术语和基本概念是理解图的基础,而图的存储结构和应用是图的重要方面。
2022-02-03 上传
2013-08-19 上传
2021-09-03 上传
点击了解资源详情
2023-04-01 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
杜浩明
- 粉丝: 14
- 资源: 2万+
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器