这题可以用 Dijkstra 算法来求解。
Dijkstra 算法是一种用于求解单源最短路径的算法。它的基本思路是:
- 将所有的节点分为两部分,已经找到最短路径的节点和未找到最短路径的节点。
- 先将起点加入已找到最短路径的节点中,并从起点开始拓展。
- 每次找到一个未加入已找到最短路径的节点,将其加入已找到最短路径的节点中,并更新最短路径。
- 直到所有节点都被加入已找到最短路径的节点,算法结束。
绘制树形图的话,可以将每个节点看作一个节点,每条边看作一条边,这样就可以得到一棵树。根节点是起点,叶子节点是终点,中间的节点都是拓展的过程中遇到的节点。求最短路、次短路、第三短路和