![]() |
|
Модераторы: diadiavova |
![]()
|
|
| Karta |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 4.6.2009 Репутация: нет Всего: 0 |
Здраствуйте!
Мне Я создала граф в xml и мне нужно в нём реализовать алгоритм Дейкстры, или любой другой алгоритм поиска кратчайшего пути в графе. Это можно сделать в xml? Или это надо сделать, скажем в си или джаве и в этих кодах сделать ссылку на xml документ с исходными данными? |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
XML описывает структуру данных. Это не язык программирования, так что ... каким образом в нём создать вообще какой-нибудь алгоритм, я в принципе не представляю себе. Другое дело, если использовать какой-то язык программирования, основанный на XML. Но в таком случае, конкретизируй вопрос, о каком именно языке речь. Хотя думаю, что лучше мудрить и сразу сделать -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| Karta |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 4.6.2009 Репутация: нет Всего: 0 |
Я нашла алгоритм в си(в исходниках), но мне надо знать можно ли в си создать ссылку на xml документ, где описан граф, или наоборот: в xml файле создать ссылку на си, где описал алгоритм.
Мне просто надо, чтоб рисовался граф, чтоб при клике на вершины, алгоритм находил кратчайший путь. }{Dijkstra'salgorithm} var a : array [1..20,1..20] of word; c, pred : array [1..20] of word; i, j, k, n, first, last, jn, kn : byte; f, g : text; min : word; begin assign(f,'in.txt'); reset(f); readln(f, n); for i := 1 to n do begin for j := 1 to n do read(f, a[i,j]); readln(f); end; readln(f, first, last); close(f); min := 32767; for j := 1 to n do if a[first,j] < min then begin min := a[first,j];jn := j;end; c[jn] := min; pred[jn] := first; j := jn; for i := 2 to n do begin min := 32767; for j := 1 to n do if c[j] <> 0 then begin for k := 1 to n do if (c[j] + a[j,k] < min)and(c[k] = 0) then begin min := c[j] + a[j,k];jn := j;kn := k;end; end; c[kn] := min;pred[kn] := jn; end; assign(g,'out.txt'); rewrite(g); if c[last] = 32767 then writeln(g,'N') else begin writeln(g,'Y'); write(g,first,' '); i := last;k := 1; while i <> first do begin a[1,k] := i; k := k + 1; i := pred[i]; end; for i := k -downto 1 do write(g,a[1,i],' '); writeln(g); writeln(g,c[last]); end; close(g); end. Вот этот алгоритм в общем виде, мне надо, чтоб алгоритм искал кратчайший путь из любой вершины до заданной... |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Так это надо спрашивать в разделе, посвящённом си. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
![]()
|
| Правила форума "XML/XSLT" | |
|
|
Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась. Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение. Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел Желаем удачи в Вашем деле! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | XML, XSL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |