图论基础知识(1)-什么是图和图的分类

emmm......蒟蒻的第一篇博客,先讲一个比较简单的东西来熟悉以下操作吧(还是怕自己翻车)

由于本人知识水平有限,暂时不会涉及相关数学知识,这篇博客主要还是提供个人对图论的比较感性的认识



这篇文章将要介绍:

  1. 图的基本定义
  2. 图的简单分类
  3. 一些简单术语的解释

因为本人比较蒻,所以这篇博客会讲的非常慢,dalao们可以绕步了。。。

Part1 什么是图:

  

  这是百度百科里面给出的解释,很重要的一条就是:“这种图形通常是用来描述某些事物之间的某种特定关系”,也就是说图实际上存储的是一些关系,所以说以下的两张图:

  

  

  它们其实都是同一张图(仔细数数看?)

  因为点和点之间的关系没变,虽然看起来形状完全不一样了,但是点和点之间的关系(连通与不连通)都是没有变化的,所以这两个图都是一样的。

  我们有时候会用G=(V,E)来描述一张图,这里的V(vertical)被称作顶点集合(就是1,2,3,4,5这几个点),这里的E(edge)被称作边集合,我们可以很明显地看出,边集合存储的就是点和点之间的关系了

Part2 图的分类:

  不得不说,图的分类实在是太多太杂了,我们可以简单地把图分成两类:有向图和无向图

   有向图可以简单地理解成是由有向边组成的图,那么我们这里要讨论一下什么是有向边。

   我们都知道,图描述的是点与点之间的关系,那么类比于现实世界里面的关系,我们就会发现有三种可能:A和B互相认识(你和你的朋友),A认识B而B不认识A(你和马云),A不认识B但B认识A(你和一群追着你讨债的人),那么我们在图中也要用一种东西来描述这三种关系。通过观察我们可以发现,这3种关系里面有些关系是单向的,有些关系是双向的,所以我们就有了有向边(用来描述单向的关系)和无向边(用来描述双向的关系),下面给出了两个例子:

  1和2之间的边是无向边

  

  1和2之间的边是有向边

  

  如果有向边和无向边可以理解了的化,相信有向图和无向图也是非常简单的

Part3. 一些简单术语的解释:

  1. 顶点

    顶点就是图里面的点(虽然大概都能从前面的介绍里面看出来。。。)

  2.边

    前面有讲这里就不在赘述了

  3.带权图

    这个说一下

    我们有时候要在图里面添加一些信息让图能更好地描述一件事情。比如说我们说A和B互相认识了3年,我们不仅要描述它们互相认识,还要描述互相认识了3年这个信息。所以我们通过给边加上一个权值来说明他们认识的时间,这种权值我们称之为“边权”。而一幅由带权边组成的图被称作带权图,不管是有向图还是无向图都可以是带权图。

    

    同时我们也要注意,有些带权图的权值不是在边上而是在点上,这种情况我们称这些权值为“点权”

  4.顶点的度:

    这里我们要分开来讨论一下

    无向图里面的度描述的是和顶点A相连的边的数量,比如说这个图:

    

    其中点1的度是3,因为一共由3条边和它相连,点3的度是2,因为一共有两条边和它相连

    (还是非常简单的)

    再来康康有向图:

    我们在有向图里面会把度分为入度和出度。入度表示的是和点A相邻的所有边中那些目的地是A的边的数量,出度就是出发点是A的边的数量,举个栗子:

     

    其中点1的入度是0,出度是3;点4的入度是1,出度是2,点3的入度是2,出度是0

   5.环

    环的特点是环上的任意一点都能通过环到达自己,换言之,环上的任意两点都可以互相到达。

    有些环上权值之和为负值,这种环我们称之为负环

   6.有向无环图(DAG)

    如何字面意思上一样,有向无环图就是一个没有环的有向图(就和上面的图一样),DAG可以和dp紧密地联系起来,同时,dp的状态转移如果画成一幅图的化也是一个DAG。原理可以自行思考

   7.重(chong)边

    当2个点之间有多余一个的方向相同的边时我们称这两个点之间有重边

    一定要记住时chong而不是zhong,否则会和树剖里面的重(zhong)边搞混

   8.路径

    (话说这么晚讲路径真的没问题吗。。。)

     从一个点到另一个点之间所经过的边称为路径,一条简单路径意思是路径上没有环(否则可以通过环绕一圈回到环的起点)

   9.连通图

    (有没有电信图啊)

    无向图中,如果任意两点都可以互相到达则称这幅图为连通图。如果无向图不连通但是它的子图连通我们则称这个子图是连通分量

    有向图中,如果任意A和B之间都有一条路径相连,那么我们称这幅图为强连通的

    同样的,如果一幅图本身不符合,但是它的子图符合强连通,那么我们称这个子图为强连通分量

    总之,连通图是在无向图的基础上对图中顶点之间的连通做了更高的要求,而强连通图是在有向图的基础上对图中顶点的连通做了更高的要求

    就先说这么多吧。。。总结一下,要认识到的最重要的几点是:

    图表示的是点之间的关系

    边权相当于是边的一种附加属性

    有向边的意思是A可以到B但是B不能到A



  蒟蒻第一次写博客,有不好的地方请无视和我说一下。。。

原文地址:https://www.cnblogs.com/jrdxy/p/12325568.html

时间: 2024-08-15 01:55:42

图论基础知识(1)-什么是图和图的分类的相关文章

图论基础知识总结

图论基础知识总结 前言 因为博主太菜,好多之前学过的图论算法都要不记得了,于是开了这篇博文提醒自己要记得复习图论. 代码 #include<bits/stdc++.h> using namespace std; #define gc() getchar() inline int In(){ char c=gc(); int x=0,ft=1; for(;c<'0'||c>'9';c=gc()) if(c=='-') ft=-1; for(;c>='0'&&c&

图论基础知识.

今天先写一些基础的图论知识: 1.floyed算法: 2.spfa算法: 3.dijkstra(迪杰斯特拉)算法:(先不写) 1.floyed算法 可以找到任意两点之间的最短路,即dis[i][j]: 原理:图的传递闭包思想:时间复杂度:O(n*n*n); 思想也比较好理解(三角形任意两边之和大于第三边嘛,如果出现不符合,就更新距离,这样比较好想) 例题oj1212图G是一个无向连通图,没有自环,并且两点之间至多只有一条边.我们定义顶点v,u最短路径就是从v到u经过边最少的路径.所有包含在v-u

Python基础知识(五)—列表内存图

# list01 是变量,存储列表对象的地址. #列表引用 list01 = ["张无忌","赵敏","周芷若"] # list02 得到的是列表对象地址 list02 = list01 # 修改的是列表第一个元素存储的对象地址 list01[0] = "老张" print(list02[0])# ?"老张" list01 = ["张无忌","赵敏","周芷

htm基础知识,css的链入以及标签分类。

<!DocTYPE>  DOC--Document 文档  TYPE  类型  文档类型 告诉浏览器这是什么文件 单标签: meta  设置   charset  设置编码 双标签: 开始标签--结束标签 html 根元素   祖先元素 title  设置标题 body  身体 head  头部元素 css样式引入方式: 1.行内样式  直接属性style引出 属性写道引号里面 2.内部样式  写在head里面 title下 style标签里面 3.外部样式  写在css包下的css下的css

如何看K线图基础知识

在日K线图中一般白线.黄线.紫线.绿线依次分别表示:5.10.20.60日移动平均线,但这并不是固定的,会根据设置的不同而不同,比如你也可以在系统里把它们设为5.15.30.60均线. 你看K线图的上方有黄色PMA5=几的字样,就是五日均线等于几的意思.其他的有紫色的10日均线PMA10=什么的.设定的话双击数字就行!数字是几就是几日均线,颜色和线的颜色一样! 那是移动平均线,在日K线图中一般白线.黄线.紫线.绿线依次分别表示:5.10.20.60日移动平均线,但这并不是固定的,会根据设置的不同

关于图算法 &amp; 图分析的基础知识概览

网址:https://learning.oreilly.com/library/view/graph-algorithms-/9781492060116/ 你肯定没有读过这本书,因为这本书的发布日期是2019年5月.本文会覆盖该书的大部分内容,读完这篇,你能够了解图算法的基本概念.关于此书,作为市面上为数不多的面向数据科学应用的图算法书籍,写的比较全面系统和易懂.当然,书在细节上的提高空间还有很多.今天内容很多,坐稳~ 目录 图算法 & 图分析 图基础知识 连通图与非连通图 未加权图与加权图 有

前端photoshop基础知识之切图

工作中需要应用到的ps知识多半是切图以及一些图片的微调.学习ps的一些基础知识,熟练掌握切图技术有助于更高效的完成工作任务以及达到更高的目标 首先需要对新建(ctrl+n)的文件进行环境的设置,包括网页宽度(一般设为1920px).背景颜色(设为透明).移动工具(自动选择设为图层).视图(勾选智能参考线及标尺).窗口(关闭不需要的工具,勾选信息.字符选项,各个部分单位均改成像素).编辑(选项中的标尺与单位均改成像素)的设置,最后存储工作区,以便下次继续使用. 环境设置之后开始ps基本操作.移动工

Java基础知识:面向对象&类图

类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性.操作.关系的对象集合的总称.在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务.一个类可以有多种职责,设计得好的类一般只有一种职责.在定义类的时候,将类的职责分解成为类的属性和操作(即方法).类的属性即类的数据职责,类的操作即类的行为职责.设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分. 1.面向对象特性 1)抽象 2)继承 3)封装 4)多态 2.类图: 在软件系统

《大话设计模式》笔记-基础知识1:UML类图基础知识

好多计算机技术书籍或者文章中常用到UML类图,本书作者介绍每一种设计模式就是用类图+面向对象语言小程序(用的C#,其基础知识另文介绍)+人物对话解释知识点.本文就是介绍<大话设计模式>中所用到UML类图的基础知识. 上图是一个整体的图,特别要注意各种样式的箭头,下文分别用局部小图说明各知识点. 类 类图分三层: (1)      类名称,如果是抽象类就用斜体标识.本例,类名称是"动物",且其是一个抽象类. (2)      类特性,通常是字段和属性.本例,类特性是"