zoukankan      html  css  js  c++  java
  • 数据结构图总结

    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 步骤
    总结:先遍历一遍还没有在最短路径中的点,选出一个距离最近的点,把它加入到最短路径中并更新,直到所有的点都加入到最短路径中。

  • 相关阅读:
    洛谷—— P2234 [HNOI2002]营业额统计
    BZOJ——3555: [Ctsc2014]企鹅QQ
    CodeVs——T 4919 线段树练习4
    python(35)- 异常处理
    August 29th 2016 Week 36th Monday
    August 28th 2016 Week 36th Sunday
    August 27th 2016 Week 35th Saturday
    August 26th 2016 Week 35th Friday
    August 25th 2016 Week 35th Thursday
    August 24th 2016 Week 35th Wednesday
  • 原文地址:https://www.cnblogs.com/p123/p/12907172.html
Copyright © 2011-2022 走看看