• 一、图。

    1、图的基本概念:图是由节点集合及节点间关系集合组成的一种数据结构。G = (V,E),其中,V = {

    x|x(某个数据元素的集合}    E = {(x,y)|x,y( V}或者E ={<x,y>|x,y( V并且path(x,y) }

    其中,(x,y)表示从x到y的一条双向通路,就是(x,y)是无方向的;Path(x,y)表示从x到y的一条单向通路,就是path(x,y)是有方向的。

    2、首先给出图的基本术语:

    (1)节点和边:G = (V,E)V称为节点,图中的地i个节点称为vi。俩个节点之间的关联叫做边,图中的第k条边记做ek。

    (2)有向图和无向图:有向图是只有方向的《x,y》代表从x指向y的一条有向边。

    (3)完全图:再有n个节点的无向图中,若有n(n-1)/2 条边,就是任意两个节点之间有且只有一条边,则称此图为无向完全图。

    (4)邻接节点:(u,v),u,v节点是E(G)中的一条边,则称u,v为邻接节点 

    (5)节点的度:节点的度是指和他相关联的边的条数。

    (6)从节点1出发到达节点2的边就叫做路径。

    (7)权:有些图的边附带信息我们称这些为权。

    (8)路劲长度:对于带权的图,路径长度就是这些权相加的结果,对于不带权的图,路径长度就是就是这些边的个数。

    (9)生成树:一个连通图的最小连通子图称作该图的生成树。

     3、对于图的操作集合:

    (1)初始化initiate(G,n),初始化图G,n为节点的个数。

    (2)插入节点insertvertex(G,vertex);在图G中插入节点vertex。

    (3)插入边:insertedge(G,v1,v2,weight);在图G中插入边<v1,v2>边V1和V2的权值为weight

    (4)删除边deleteedge(G,v1,v2),删除图G中的边v1,v2

    (5)删除节点deletevertex(G,vertex)删除图G中的节点vertex以及与改节点相关的所有边。

    4、图的存储结构:从图的定义可知,图的信息包括俩部分,节点的信息和节点间关系的边的信息。

    节点信息的描述问题是一个简单的表存储结构问题。

    二、图的存储结构:

    1、邻接矩阵存储结构:

    无向图的邻接矩阵一定是对称矩阵。有向图的邻接矩阵一般是非对称矩阵。 

    邻接矩阵使之用矩阵来表示图。他是采用矩阵来描述图中顶点之间的关系。假设图中顶点数

    为n,则邻接矩阵定义为:

    A[i][j] =1(若是vi和vj之间有弧或者边的存在)

               0 (vi和vj之间没有弧或者边的存在)

  • 相关阅读:
    邮件发送
    生成缩略图
    截取字符串,中文安两个字符处理
    获取客户机MAC地址 根据IP地址 获取机器的MAC地址 / 获取真实Ip地址
    文件操作
    MD5加密 和 自定义加密解密
    Html标签替换(过滤掉html特殊符号)
    .net core 自定义中间件
    querySelector和querySelectorAll
    CSS下背景属性background的使用方法
  • 原文地址:https://www.cnblogs.com/yjds/p/8604549.html
Copyright © 2020-2023  润新知