• 图1


    什么是图

    常见术语

    无向图:一个图里面的所有边都是无所谓方向的
    有向图:边可能是单向的也可能是双向的,方向对其有一定作用
    权重:每条边上的一个数字,再现实生活中有各种各样的意义
    网络:带权重的图
    邻接点:如果有直接的边跟他相连的所有的顶点叫这个点的邻接点
    度:

    • 出度:从该点出发的边数
    • 出度:指向该点的边数


    如何再程序中表示一个图

    邻接矩阵


    特点:对称的,对角线处全为0 看图方法:<v1,v3>处位1,则1和3间有一条边,为0则无,比如<v0,v2>为0,0和2之间没有边
    因为邻接矩阵是沿着对角线对称的,所有我们可以只存一半的空间


    对于网络来说,可以将1改写成边的权重
    邻接矩阵的好处

    邻接矩阵的局限

    邻接表


    好处和局限

    图的遍历

    深度优先搜索(DFS)

    以一个迷宫为例,在迷宫的各个拐角处,有一个个灯泡,我们要把每一个灯点亮
    假定个了一个迷宫的入口,我们先把入口处的灯泡点亮,然后站在这个路口,在视线可见的几个路口的灯,挑一盏灯走过去点亮,不断重复,如果在某个路口,视线可见内的所有灯都是亮的,则原路退回上一个路口,任何情况下在视线范围内全是亮的的要返回,直到返回到起点

    广度优先搜索(BFS)

    把它弹出来的时候
    先指定一个起点(初始点 1),把这个点压到队列里,然后进入那个队列的循环,就顺序把跟它有边相连的这些点也一一压到队里,然后弹出 2,再把与2直接相连的点呀压到队里,不断循环
    实例伪代码的enqueue是将其压到队列里,dequeue是弹出

    不完全连通图的遍历

  • 相关阅读:
    Sizzle源码分析 (一)
    VueJS 数据驱动和依赖追踪分析
    使用 nvm 来管理nodejs版本 。
    在node中使用 ES6
    mongoDB & Nodejs 访问mongoDB (二)
    mongoDB & Nodejs 访问mongoDB (一)
    Javascript原型链和原型继承
    Javascript 闭包与高阶函数 ( 二 )
    SDOI2019&十二省联考 游记
    Luogu-3648 [APIO2014]序列分割
  • 原文地址:https://www.cnblogs.com/wjc6765/p/15109635.html
Copyright © 2020-2023  润新知