下列 Dijkstra 算法(出边邻接表)中,松弛部分横线处应填入:
// minv: 本轮确定的顶点, min = dis[minv]
for (Edge * e = graph[minv]; e != NULL; e = e->next) {
________; // 在此处填入选项
}
- A. if (dis[e->out] > e->len) dis[e->out] = e->len;
- B. if (dis[e->out] > min + e->len) dis[e->out] = min + e->len;
- C. if (dis[e->in] > e->len) dis[e->in] = e->len;
- D. if (dis[e->in] > min + e->len) dis[e->in] = min + e->len;
正确答案:B