|
|
|
|
|
|
|
Вернуться
| 1 Байгильдин.И.Ф, 21 августа 2008 г. 17:33:42 | |
|
[color=red][size=18]Спасибо[/size][/color]
|
|
|
| 2 Нагин Сергей Юрьевич, 19 августа 2008 г. 14:36:33 | |
|
ну иногда м*лог(н) лучше а иногда н*2н. надо смотреть на условие.
|
|
|
| 3 Горбачев Иван Николаевич, 18 августа 2008 г. 3:38:43 | |
|
Не NlogN, а MlogN, где M - количество ребер, а N - количество вершин. Так что MlogN не всегда лучше ( читай "быстрее" ).
|
|
|
| 4 Хохлов Илья Евгеньевич, 17 августа 2008 г. 14:46:26 | |
|
квадрат - это быстро? А NlogN разве не лучше?
|
|
|
| 5 Нагин Сергей Юрьевич, 17 августа 2008 г. 10:31:18 | |
|
у дейкстры и так скорость бюльшая вроде О(н*(н+н))и так быстро.
|
|
|
| 6 Хохлов Илья Евгеньевич, 16 августа 2008 г. 17:10:24 | |
|
А при чем путь и хип? Хип уменьшает время работы Дейкстры...
|
|
|
| 7 Нагин Сергей Юрьевич, 16 августа 2008 г. 15:43:46 | |
|
зачем здесь структура данных куча ? еслиб путь надо былоб.....
|
|
|
| 8 Kabdysalyam Muhammed Oralovich, 15 августа 2008 г. 19:53:36 | |
|
A s hipom est'?
|
|
|
| 9 Нагин Сергей Юрьевич, 15 августа 2008 г. 16:49:15 | |
randomize; n=100; for i:=1 to n do for j:=1 to n do begin a[i,j]:= random(1001); if a[i,j]= 1000 then a[i,j]:=-1; end; b:=a[1]; fillchar (c, sizeof(c), true); for i:=1 to n do begin min:=10000; mnum:=0; for j:=1 to n do if (C[j]) and (b[j]<>-1) and (B[j]<min) then begin mnum:=j;min:=b[j];end; for j:=1 to n do if (a[i,mnum]<>-1) and(a[mnum,j]<>-1) and (j<>mnum)then if (a[i,j]=-1) or ((a[i,j]<>-1) and (a[i,j]>a[i,mnum]+a[mnum,j])) then a[i,j] := a[i,mnum] + a[mnum,j]; c[mnum]:=false; end; for i:=1 to n-1 do write(a[i],' '); writeln(a[n]); {ето для 1 - вершины}
|
|
|
Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!
| | | |