【数据结构】图的案例引入及类型定义

news2024/11/27 22:24:00

6.2 案例引入

六度空间理论

在这里插入图片描述

六度空间理论验证

在这里插入图片描述

6.3 图的类型定义

图的抽象数据类型定义如下

ADT Graph
{
		数据对象V:具有相同特性的数据元素的集合,称为顶点集。
		数据关系R:R={VR}
				VR={
					<v,w>|<v,w>|v,w∈V ^ p(v,w),
					<v,w>表述从 v 到 w 的弧,p(v,w)定义了弧<v,w>的信息
				   }

}

图的基本操作

  1. CreateGraph(&G,V,VR)

    • 初始条件:V 是图的顶点集,VR 是图中弧的集合。
    • 操作结果:按照 V 和 VR 的定义构造图 G
  2. DestoryGraph(&G)

    • 初始条件:图 G 存在。
    • 操作结果:销毁图 G。
  3. LocateVes(G,u)

    • 初始条件:图 G 存在, u 和 G 中顶点有相同特征。
    • 操作结果:若 G 中存在顶点 u ,则返回该顶点在图中的位置,反之返回其他信息。
  4. GetVex(G,v)

    • 初始条件:图 G 存在,v 是 G 中的某个顶点。
    • 操作结果:返回 顶点 v 的值。
  5. PutVex(&G,v,value)

    • 初始条件:图 G 存在,v 是 G 中的某个顶点,。
    • 操作结果:对 V 赋值 value。
  6. FirstAdjVex(G,v)

    • 初始条件:图 G 存在,V 是 G 中的某个顶点。
    • 操作结果:返回 V 的第一个邻接顶点、若 V 在 G 中没有邻接顶点,则返回 NULL。
  7. NextAdjVex(G,v,w)

    • 初始条件:图 G 存在,v 是 G 中的某个顶点,w 是 v 的邻接顶点。
    • 操作结果:返回 v 的(相对于 w 的)下一个邻接顶点。若 w 是 v 的最后一个邻接点,则返回 NULL。
  8. InSertVex(&G,v)

    • 初始条件:图 G 存在,v 是 G 中的某个顶点。
    • 操作结果:在图 G 中增添新顶点 v。
  9. DeleteVex(&G,v)

    • 初始条件:图 G 存在,v 是 G 中某个顶点。
    • 操作结果:删除 G 中顶点 v 及其相关的弧。
  10. InsertArc(&G,v,w)

    • 初始条件:图 G 存在,v 和 w 是 G 中的两个顶点。
    • 操作结果:在 G 中增添弧 <v,w> ,若 G 是无向图,则还增添对称弧 <w,v>。
  11. DeleteArc(&G,v,w)
    - 初始条件:图 G 存在,v 和 w 是 G 中的两个顶点。
    - 操作结果:在 G 中删除弧 <v,w> ,若 G 是无向图,则还删除对称弧 <w,v>。

  12. DFSTraverse(G)

    • 初始条件:图 G 存在。
    • 操作结果:对图进行深度优先遍历,在遍历过程中对每个顶点访问一次。
  13. BFSTraverse(G)

    • 初始条件:图 G 存在。
    • 操作结果:对图进行广度优先遍历,在遍历过程中对每个顶点访问一次。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/166772.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WebStorage之浏览器的本地存储(结合案例)

目录前言一&#xff0c;WebStorage二&#xff0c;localStorage2.1 存储2.2 读取2.3 删除2.4 清除全部2.5 代码三&#xff0c;sessionStorage3.1 用法3.2 区别3.3 代码四&#xff0c;结合案例后记前言 浏览器的本地存储可以缓存一些信息在浏览器中&#xff0c;方便取用。在学习…

Docker(黑马spring cloud笔记)

Docker 目录Docker一、介绍和安装1. 安装2. 启动3. 镜像加速二、Docker基本操作1. 镜像操作2. 容器操作3. 数据卷操作三、Dockerfile1. 镜像结构2. Dockerfile四、Docker-Compose1. 安装2. 基本命令五、Docker私服搭建六、练习练习1&#xff1a;save和load练习2&#xff1a;doc…

【MySQL】深入学习B+索引的使用

文章目录1. 前言2. 索引的代价2.1 空间上的代价2.2 时间上的代价3. B树索引的使用3.1 提取正确的扫描区间3.1.1 所有搜索条件都可以生成合适的扫描区间的情况3.1.2 有的搜索搜索条件不能生成合适的扫描区间3.1.3 从复杂的搜索条件中找出扫描区间3.1.4 使用联合索引执行查询时对…

5. 统计学基础2:协方差、相关系数、协方差矩阵

文章目录1. 协方差2. 相关系数【就是使 |协方差|<1】3. 协方差矩阵1. 协方差 标准差和方差一般是用来描述一维数据的&#xff0c; 具体介绍见&#xff1a;5. 统计学基础1&#xff1a;平均值…四分位数、方差、标准差&#xff08;均方差&#xff09;、标准误&#xff08;标准…

ModelMapper 一文读懂

目录 1、ModelMapper简介 1.1 引入ModelMapper 的依赖 1.2 进行Mapping映射 1.3 ModelMapper 工作原理 2、ModelMapper 基础操作 2.1 ModelMapper 基本映射 2.2 ModelMapper 集合转换 2.3 ModelMapper 指定默认值 2.4 ModelMapper 属性值转换 2.5 ModelMapper 属…

node.js创建服务器及知识点

node.js创建服务器及知识点用http协议创建web服务器http协议知识点用express创建web服务器express中路由知识点fs文件系统模块文件流querystring查询字符串模块URL模块中间件挂载路由器node.js和mysql项目实战知识点完整代码注意点用http协议创建web服务器 //引入http const h…

【强训】Day07

努力经营当下&#xff0c;直至未来明朗&#xff01; 文章目录一、选择二、编程1. Fibonacci数列2. 合法括号序列判断 ☆答案1. 选择2. 编程普通小孩也要热爱生活&#xff01; 一、选择 Math.round(11.5) 等于&#xff08;&#xff09; A 11 B 11.5 C 12 D 12.5 以下对继承的描…

Spring Boot(五十四):SpringBoot事件监听机制

1 Java监听机制 SpringBoot 的监听机制&#xff0c;其实是对Java提供的事件监听机制的封装。 Java中的事件监听机制定义了以下几个角色&#xff1a; 事件&#xff1a;Event&#xff0c;继承 java.util.EventObject 类的对象事件源&#xff1a;Source &#xff0c;任意对象Ob…

Unet网络解析

1 Unet网络概述 论文名称&#xff1a;U-Net: Convolutional Networks for Biomedical Image Segmentation 发表会议及时间 &#xff1a;MICCA ( 国际医学图像计算和 计算机辅 助干预会 议 ) 2 0 1 5 Unet提出的初衷是为了解决医学图像分割的问题。 Unet网络非常的简单&…

leetcode 2246. Longest Path With Different Adjacent Characters(不同相邻字母的最长路径)

给一棵以节点0为根的树&#xff08;不一定是二叉树&#xff09;&#xff0c;共有n个节点&#xff0c;0&#xff5e;n-1&#xff0c; 同样的&#xff0c;有长度为n的数组parent, parent[i]表示第 i 个节点的parent, 0的parent是-1. 长度为n的字符串&#xff0c;s(i)表示第i个节点…

JSPmvc

一、JSP 概述 JSP&#xff08;全称&#xff1a;Java Server Pages&#xff09;&#xff1a;Java 服务端页面。是一种动态的网页技术&#xff0c;其中既可以定义HTML、JS、CSS等静态内 容&#xff0c;还可以定义 Java代码的动态内容&#xff0c;也就是 JSP HTML Java 。如下就…

【金融】新成立基金建仓时点、行业分布与市场行情关系探究

需要进一步交流&#xff0c;获取数据和代码的同学欢迎私信奥~基于新成立基金建仓带入市场的巨量资金会推动市场行情这一逻辑&#xff0c;开展了一系列研究。首先提出了通过基金净值识别建仓行为&#xff08;累计绝对值涨跌幅法&#xff09;和通过基金β值识别建仓行为&#xff…

Vue知识系列-VS Code的安装+Vue环境的搭建+Vue指令

一、VS Code下载地址 Visual Studio Code - Code Editing. Redefined 二、VS Code初始化设置 1.安装插件 在安装好的VSCode软件的扩展菜单中查找安装如下4个插件 2、创建项目 vscode本身没有新建项目的选项&#xff0c;所以要先创建一个空的文件夹&#xff0c;如project_xx…

自主异常检测算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

AppScan 扫描web应用程序

系列文章 AppScan介绍和安装 第二节-AppScan 扫描web应用程序 1.环境布置 我们准备了如下一个靶场用来做实验 2.扫描步骤 1.启动AppScan 2.选择 【扫描web应用程序】 3.输入起始URL&#xff0c;点击【下一步】 http://127.0.0.1:83/4.选择【不使用代理】,点击【下一…

ctfshow php特性[125-135]

&#x1f60b;大家好&#xff0c;我是YAy_17&#xff0c;是一枚爱好网安的小白&#xff0c;自学ing。 本人水平有限&#xff0c;欢迎各位大佬指点&#xff0c;一起学习&#x1f497;&#xff0c;一起进步⭐。⭐此后如竟没有炬火&#xff0c;我便是唯一的光。⭐web 125<?php…

word怎么转换成pdf?其实很简单,看这里即可!

转眼间又到了校招的季节&#xff0c;想必许多小伙伴都在忙着编辑自己的简历吧。不过&#xff0c;咱们编辑的时候常常用到的都是word文件&#xff0c;但是当我们要将文件投递出去的时候就需要用到pdf了。其实不仅仅是投递简历&#xff0c;许多地方在要求我们发送正式文件的时候都…

vue+node+mysql全栈项目完整记录

文章目录vuenodemysql全栈项目完整记录写在前面项目最终界面展示项目框架搭建后端创建后端项目编写入口文件数据库及数据库使用前端创建前端项目使用elementUI必要包安装设置跨域访问&#xff0c;全局挂载axios删除无用的文件和代码设置统一的页面样式主页面页面设计路由设计登…

【C语言】柔性的数组是什么?C/C++程序的内存开辟又是?

本文主要讲解柔性数组的相关知识点&#xff0c;并穿插一下C/C程序的内存开辟&#xff0c;涉及到动态内存管理函数&#xff0c;如有不了解的&#xff0c;请参考这一篇文章【C语言】小王带您轻松实现动态内存管理&#xff08;简单易懂&#xff09;_小王学代码的博客-CSDN博客 目录…

【C++】类和对象【下篇】--初始化列表,static成员,友元,内部类,匿名对象

文章目录一、再谈构造函数1.构造函数体赋值2.初始化列表1.概念2.特性二、隐式类型转换1.概念2.构造函数的类型转换3.explict关键字4.类型转换的意义三、Static成员1.概念2.static成员变量3.static成员函数四、友元1.友元函数2.友元类五、内部类六、匿名对象七、拷贝对象时的一些…