Algorithm Dijkstra算法的实现[我被一个问题搞糊涂了]

Algorithm Dijkstra算法的实现[我被一个问题搞糊涂了],algorithm,graph,dijkstra,binary-heap,Algorithm,Graph,Dijkstra,Binary Heap,我目前正在做一项家庭作业,要求我: 单源最短路径问题DIJKSTRA算法的实现 使用二进制堆。运行时间应为OElogV 很简单!然而,这个问题必须通过代码来解决。在这之前,这仍然不是一个很难理解的概念: 您的程序应该从文件中读取数据,请参见下面的示例并输出 单个数字=从节点0到的最短路径的长度之和 每个节点。输入格式:下面每个文件的第一行包含 中图形中的顶点数和边数 格式n=XXXX m=XXXXX。文件的其余部分组织为 跟随:每个顶点i单独出现在一条线上,后跟一个 包含j和边长度的每个相邻j>

我目前正在做一项家庭作业,要求我:

单源最短路径问题DIJKSTRA算法的实现 使用二进制堆。运行时间应为OElogV

很简单!然而,这个问题必须通过代码来解决。在这之前,这仍然不是一个很难理解的概念:

您的程序应该从文件中读取数据,请参见下面的示例并输出 单个数字=从节点0到的最短路径的长度之和 每个节点。输入格式:下面每个文件的第一行包含 中图形中的顶点数和边数 格式n=XXXX m=XXXXX。文件的其余部分组织为 跟随:每个顶点i单独出现在一条线上,后跟一个 包含j和边长度的每个相邻j>i/i的线 i、 j。每个邻居列表都以一个空行结束。顶点i 没有索引大于i的邻居的 代表。注意:顶点的索引范围为0到n-1。注:各 边仅被提及一次,其端点样本数较少 输入: 1. 2.最短路径树的长度应分别为10721073和625349。程序应给出3-10的输出 第一次输入为秒,第二次输入小于1秒

我的问题:我不太理解我的教授对文件格式的解释,以及它们应该如何在代码中翻译。我也不知道我应该可视化什么样的图,我是在二叉树上找到最短路径,还是在一个不是有许多顶点和边的二叉树的图上找到最短路径?我很困惑,因为他提到了二进制堆,所以我不确定在这里应该可视化什么

关于我不理解的文件呢:看图表,我们有如下内容:

n=25000 m=576014
0
   176     67
   665    185
  1129     26
  1414    114
  1748    205
  2027    264
  2714    212
  2743    132 ...

根据他的解释,我知道n=顶点数,m=边数。我不明白的是,顶点0后的数字对在我应该使用Dijkstra's on的图中表示什么。另外,如果查看其中一个文件的末尾,您会注意到,此格式中列出的顶点数不是n='s'表示的名称数。这是为什么?

快速阅读,似乎顶点0连接到顶点176,成本为67,连接到顶点665,成本为185,依此类推。根据阅读结果,它肯定是一个图形。这回答了一个问题,但引出了更多问题。谢谢大家的回复。