当前位置: 首页 > 网络应用技术

LeetCode 743.网络延迟时间(Python)

时间:2023-03-07 13:44:08 网络应用技术

  给您一个N节点网络,标记为1至n。您还会有时间,按定向边缘时间[i,vi,wi)的旅行时间列表,其中ui是源是目标节点,而wi是信号从源到目标的信号所需的时间。

  我们将从给定的节点k发送信号。返回所有n个节点接收信号所需的时间。如果所有n个节点都无法接收信号,请返回,

  示例1:

  示例2:

  示例3:

  笔记:

  根据意图,给出了一个由N节点组成的网络,从1到n标签。它还给出了带有城镇的旅行时间列表,Times [i] =(ui,vi,wi)。其中,UI是源节点,VI是一个目标节点,WI是信号所需的时间。

  您需要从给定的节点k. return所有n个节点接收信号所需的时间。如果所有n个节点接收信号,请返回-1。

  这个问题是Dijkstra算法的非常经典的模型。如果要解决这个问题,则应解决类似的问题。实际上,Dijkstra算法本质上是BFS +优先级队列的问题,因为正常BFS实际上是重量,重量是重量是重量是重量。图中的权重显然不一定是1,因此您需要将最短的距离从源点到优先级排名最短距离的最短距离。可以参考这个大个子的解释,这很容易理解。

  时间复杂度为O(ELOGE),空间复杂性为O(E),E是边数。

  https://leetcode.com/prblems/network-dlay time/

  您的支持是我最大的动力

  原始:https://juejin.cn/post/70985144400666976293