Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #12  
Старый 24.09.2013, 14:24
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Ну базы - это, конечно, круто. Но для графа достаточно и текстового файлика. Сначала названия, дальше - строки по 2 id и расстоянием. Пример:
Цитата:
3 // количество городов
Москва
Питер
Киев
0 1 600 // связь города 0 с городом 1 длиной 600 км.
0 2 500
Можно все то же самое и в базе - таблица соответствия id<->название, и таблица id1|id2|length. Можно и страну приделать в первую таблицу, или же прилепить туда id страны, а саму страну в отдельной таблице - зависит от задачи. Но так, как ты предложил, придется при построении графа сравнивать все время строки (имена городов), а поле id оказывается лишним.
После читаем про графы, к примеру - алгоритм Дейкстры (см. Гугл и Википедию, там даже гифка-иллюстрация есть). Можно просто из каждой вершины двигаться по всем путям, начиная с кратчайшего, и запоминать длину пути; если зашли в тупик - откат на вершину назад, а если дошли до нужной вершины - это и есть кратчайший путь.
Если же есть прямой путь из каждого города в каждый - то просто
Код:
select length from table where id1 = index1 and id2 = index2

А еще у нас, похоже, появился новый тролль. И кстати, xdessx, убери ссылку из подписи, а то рискуешь банхаммером получить. Правила форума надо читать.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.

Последний раз редактировалось Bargest, 24.09.2013 в 14:34.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:34.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025