• 数据结构图总结


    1. 思维导图

    2. 概念笔记

    (1) 深度优先遍历(DFS)

    a. 访问顶点v
    b. 依次从v的未被访问的邻接点出发,对图进行深度优先遍历;直至图中和v有路径相通的顶点都被访问
    c. 若此时图中尚有顶点未被访问,则从一个未被访问的顶点出发,重新进行深度优先遍历,直到图中所有顶点均被访问过为止

    (2) 广度优先遍历(BFS)

    a. 从图中某个顶点v出发,访问v
    b. 依次访问v的各个未被访问过的邻接点
    c. 分别从这些邻接点出发依次访问他们的邻接点
    d. 重复步骤c,直至所有已被访问的顶点的邻接点都被访问到

    (3) Prim 算法

    a. 以某一个点开始,寻找当前该点可以访问的所有的边
    b. 在已经寻找的边中发现最小边,这个边必须有一个点还没有访问过,将还没有访问的点加入集合,记录添加的边
    c. 寻找当前集合可以访问的所有边,重复 b 的过程,直到没有新的点可以加入

    (4) Kruskal 算法

    a. 设一个有n个顶点的连通网络为 G(V,E),最初先构造一个只有 n 个顶点,没有边的非连通图 T,图中每个顶点自成一个连通分量
    b. 当在E中选择一条具有最小权值的边时,若该边的两个顶点落在不同的连通分量上,则将此边加入到 T 中;否则重新选择一条权值最小的边
    c. 如此重复下去,直到所有顶点在同一个连通分量上为止

    (5) Dijkstra 算法

    a. 遍历与结点1相连的所有结点,找到距离最近的一个,把这个结点标记为访问过,并更新最短路径
    b. 遍历最短路径包含的点相连的节点,找到距离最近的加入最短路径,并且标记为访问过
    c. 重复 b 步骤
    总结:先遍历一遍还没有在最短路径中的点,选出一个距离最近的点,把它加入到最短路径中并更新,直到所有的点都加入到最短路径中。

  • 相关阅读:
    Tomcat 部署Solr 5.2.1
    使用浮点类型导致计算误差以及判断误差
    Interface 接口
    ASP.NET 使用JQuery取后台数据并绑定到前台
    JavaScript代码应该放哪才最合适?
    Java学习笔记五(内部类 )
    Java学习笔记四(代码块 )
    Java学习笔记三(对象的基本思想一)
    Java学习笔记二(基础语法)
    Java学习笔记一(基础知识)
  • 原文地址:https://www.cnblogs.com/p123/p/12907172.html
Copyright © 2020-2023  润新知