Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2011, 20:18   #1
firephenix
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 89
Сообщение Кратчайший путь от одной точки до другой.

Подскажите пожалуйста идею или названия алгоритма для нахождения кратчайшего пути от одной точки до другой. Алгоритм Дейксты в данной задаче использовать нельзя из-за того что в задаче нужно как можно меньше использовать оперативную память, даже в ущерб времени выполнения. (всего вершин не больше 10.000, так что двумерный массив с таким количеством ячеек" 10.000*10.000 " для хранения длины ребра, будет использовать слишком много памяти).
firephenix вне форума Ответить с цитированием
Старый 17.05.2011, 00:05   #2
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Алгоритм Дейкстры без вариантов. Он не зависит от того, как вы там граф храните. И в отличие, например, от алгоритма Флойда ему матрица длин ребер не нужна. Вы спокойно можете хранить свои ребра в списке, например, или в куче, или вообще где и как угодно, если там у вас граф разреженный, а вершин много.
А если он у вас не разреженный, тогда сообщите, пожалуйста, как вы собираетесь хранить примерно 10.000 * 10.000 значений не занимая такого количества ячеек памяти?
mMAg вне форума Ответить с цитированием
Старый 04.06.2011, 22:19   #3
sfok3
 
Регистрация: 01.10.2009
Сообщений: 5
По умолчанию

а может алгоритм поиска пути A* ?
Теорию, картинки и код можно посмотреть ТУТ
sfok3 вне форума Ответить с цитированием
Старый 05.06.2011, 00:30   #4
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Цитата:
Сообщение от sfok3 Посмотреть сообщение
а может алгоритм поиска пути A* ?
Теорию, картинки и код можно посмотреть ТУТ
Боюсь вас огорчить, но это и есть Дейкстра на списках, если в качестве оценки принимать всегда ближайшую вершину.
Вообще-то у вас была проблема с памятью, насколько я понимаю. Для того чтобы она отпала, нужно хранить ребра, а не таблицу смежностей. А алгоритм какой выбирать, это уже дело третье.
mMAg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кратчайший путь к точке W0LF Общие вопросы Delphi 3 17.05.2011 15:40
путь от одной вершины графа к другой Катя Горбачева Помощь студентам 5 14.04.2011 20:05
Кратчайший путь между двум вершинами Gapro Общие вопросы C/C++ 4 04.11.2010 20:24
Графы (кратчайший путь и обход ВСЕХ вершин) 08ekhiv1 Помощь студентам 5 05.08.2009 13:12
Найти кратчайший путь между точками lucky Общие вопросы Delphi 0 27.05.2009 07:26