Приоритетная очередь не добавляет в очередь правильные данныеJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Приоритетная очередь не добавляет в очередь правильные данные

Сообщение Anonymous »


Я пытаюсь решить проблему, используя очередь приоритетов, где у меня есть двумерный массив times, где индексы во втором измерении представляют
[*]начальный край, [*]конечный край и [*]расстояние между двумя краями
Также указывается край, с которого нужно начать, как целое число k.

Я попробовал решить, используя графовый алгоритм Дейкстры.

Поскольку в приведенном ниже коде начальный узел равен 2, Я добавляю значения [3,7] и [1,2] в очередь приоритетов, но при опросе значений я получаю [1,7] и [3,7]. Однако для некоторых других входных данных он работает правильно.

Ввод:

int times[][] = {{1,2,1},{2,3,7},{1,3,4},{2,1,2}}; int n = 3, k = 2; Код:

import java.util.ArrayList; импортировать java.util.Arrays; импортировать java.util.PriorityQueue; класс ПараДанные { внутренний узел; инт Вэй; public PairData (int node, int wei) { this.node = узел; this.wei = Вэй; } } общественный класс NetworkDelayTime { public int networkDelayTime(int[][] times, int n, int k) { ArrayList adj= new ArrayList(); for(int i=0;i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»