zoukankan      html  css  js  c++  java
  • 地图收敛心得170405

    寻路算法大总结!








    交换机生成树采用的是完全不同的D-V(distance vector)距离矢量算法,并不是很可靠.


    并不是任意两点之间的最短路径,因为任意两点之间取最短路径可能有环路:总权更大



    交换机STP不一定是最小生成树!!!举例论证 因为它只是所有交换机到根桥最短 贪心算法的味道


    kruskal算法也是贪心算法??


    收敛方式

    有无环

    开销

    批注

    任意两点之间取最短路径,

    最有可能出现环,环数最多.

    总开销最大.

    此时相当于多源最短路径算法得到的收敛地图.

    n-2个点为根,分别让其余n-1个点到自己选择最短路径.

    很有可能出现环,环数很多.

    总开销非常大.

    此时只剩下两个点之间可能不是最短路径.

    ……以此类推.

    越向上走,越可能出现环,环数越多.

    越往上走,总开销只可能增长不可能减少.

    以两个点为根,分别让其余n-1个点到自己选择最短路径.

    可能有环.

    总开销再次之.

    此时相当于两棵SPF树出现在同一张网络上.(取并)

    以一个点为根,其余n-1个点到自己选择最短路径.

    肯定无环.

    总开销次之.

    此时就是交换机的STP协议.

    不考虑根和两点间最短距离,用最短的路径连线连接所有的节点.

    肯定无环.

    总开销最小.

    此时是最小生成树,每对不同节点间相互覆盖的边数最多.




    由欧拉定理得,环数加上n等于边数加1,所以每增加一个环就要增加一条边,相应的就要增加一份开销.


    距离矢量路由协议算出来的也是最小生成树;所有SPF树重叠在一起也就是最小生成树.


    我们将所有的寻路收敛算法进行统一的思考,这样我们会发现其实他们都属于同一类型的不同程度,就像牛顿把静止也视作一种特殊的运动,因为它是速度为0的运动.









  • 相关阅读:
    回调函数实现类似QT中信号机制
    Qt Creator下载和安装(详细教程)
    对象池实现分析
    MongoDB Redis
    双重加锁
    开源项目
    进程创建
    WebAPI性能优化
    StatusCodePagesMiddleware中间件如何针对响应码呈现错误页面
    NET Core + Angular 2
  • 原文地址:https://www.cnblogs.com/jinhengyu/p/7516801.html
Copyright © 2011-2022 走看看