Print

最短路由算法综述

问:最短路由算法
  1. 答:最短路由选择算法
    在静态路由选择算法中,最短路由选择(Shotest Routing) 算法是一种简单易懂而应用广泛的技术。它的基本思想是:建立一个子网图,图中每一个节点代表一台路由器,每条弧线代表一条通信线路(链路),弧上的数字代表该线路的权重。为了在一对给定的路由器之间选择一条路由路径,路由算法只需在图中找到这对节点之间的最短路径即可。对于路径长度测量有多种方法,一种方法是计算站点数量,另外也可以计算距离、信道带宽、平均通信量、通信开销、队列长度、传播时延等。
    计算图中两个节点之间的最短距离有多种大答信算法,其中最著名的算法是Dijkstra在1959年提出的Dijkstra算法 。 该算法要求每个节点用从源节点沿已知最佳路径到本节点的距离来标注。开始时由于一条路径也不知道,故所有的节点都标注无穷大。随着算法的进行和不断找到的路径,标注随之改变,使之反映出较好的路径。一个标注可以是暂时性的(可更改的),所有标注最初都是暂时的,但一旦发现了标注代表了从源节点到该节点的最短可能路径时,就使之成为永久性的,不再进行修改。

    为了说明加标注算法是怎样工作的,请参考右图,其中数字表示两节点的距离。要找A至D的最短距离,首先A标注为永久性的(用实心圆点表示)作为开始,然后依次考察与A相邻的每个节点,用他们各自到A的距离重新标注这些举坦点。找到B节点为最短路径节点后使其成为永久节点,接下来从节点B开始,检查所有与B相邻的节点,如果B的标注与从B到所有节点距离之和小于此节点的标注,就重新标注滚轮这个节点。
问:计算机网络的最短路径算法有哪些?对应哪些协议?
  1. 答:Bellman-Ford算法,对应距离矢量路由协议RIP
  2. 答:Dijkstra算法,A*算法和D*算法等 开放基祥最短轮洞路径优先(OSPF)_网络协搏桐搏议
问:洋葱数学最短路径问题
  1. 答:确定终点的最短路径问题 - 与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径裂喊腊方向反转的确定起点的问题。
    所谓单源最短路径问题是指:已知图G=(V,E),我们希望找出从某给定的源结点渗喊S∈V到V中的每个结点的最短路径。首先,我们可以发现有这样一个事实:如果P是G中从vs到vj的最短路,vi是P中的一个点,那么,从vs沿P到vi的路是从vs到vi的最短路。
    最短路径算法
    Dijkstra算法(迪杰斯特拉)是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算肆滑法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。可以用堆优化。
    Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。

本文来源: https://www.lw766.cn/article/6a5417b490a4b2c916bd7268.html