Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Вниз

Вот такая вот задачка ...   Найти похожие ветки 

 
JibSkeart   (2003-10-02 14:54) [0]

нужно найти катчайший путь от точки а до б !

НО !!!

при том что путь задается точками
тоесть

ну вообшем пример :))
наше поле

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

(путь задается так
из точки А можно перейти в точку Б из точки Б в точки А и С итд

допустим
1->2
1->5
2->3
2->6
3->4
3->7
5->9
6->5
6->10
7->4
7->8
7->12
9->6
9->10
9->13
10->11
10->15
11->7
11->15
11->12
12->16
13->14
14->15
15->16

если нарисовать наше поле и нарисовать стрелки от точки 1 до 2
1 до 5 итд то можно увидеть более наглядно ,
что то подобие лабиринта ,

у меня есть рабочий вариант ,
но хочется посмотреть и другие решения ,

если комуто будет итнерестно взглянуть на рабочий то
могу запостить ...


 
Думкин   (2003-10-02 14:57) [1]

Выпил мало? По русски никак?


 
JibSkeart   (2003-10-02 14:58) [2]

а точнее что непонятно ,
а то у меня мысли расплывабтся :)))

думаю о том о сем ..


 
mfender   (2003-10-02 15:00) [3]

А где же А и Б?
Загадка? :))


 
JibSkeart   (2003-10-02 15:02) [4]

ну вмусле от точки 1 до точки 15
воот ...


 
Kinda   (2003-10-02 15:04) [5]

А где тут точки-то?


 
han_malign   (2003-10-02 15:05) [6]

Тут, вчера, как раз о "графах" спрашивали...
(Теория графов и сетей)


 
Игорь Шевченко   (2003-10-02 15:06) [7]

"Как известно, в Петушках нет пунктов А. Пунктов Ц тем
более нет. Есть одни только пункты Б. Так вот: Папанин, желая
спасти Водопьянова, вышел из пункта Б1 в сторону пункта Б2. В
то же мгновение Водопьянов, желая спасти Папанина, вышел из
пункта Б2 в пункт Б1. Неизвестно почему, оба они оказались в
пункте Б3, отстоящем от пункта Б1 на расстоянии 12-ти
водопьяновских плевков, а от пункта Б2 - на расстоянии 16-ти
плевков Папанина. Если учесть, что Папанин плевал на три метра
семьдесят два сантиметра, а Водопьянов совсем не умел плевать,
-выходил ли Папанин спасать Водопьянова?"


 
JibSkeart   (2003-10-02 15:08) [8]

под точками подразумеваются ЦИФРЫ (1,2,3...16)

теорию графов тоже можно подкинуть

я уже давно это читал
если можно ссылку кинте ...


 
JibSkeart   (2003-10-02 15:10) [9]

2Игорь Шевченко ©
Весьма оригинально ,
поверь я тоже посмеялся ...


 
mfender   (2003-10-02 15:14) [10]

1-5-9-13-14-15


 
JibSkeart   (2003-10-02 15:16) [11]

2mfender
да это так а слабо программно ???


 
Mike B.   (2003-10-02 15:16) [12]

Чего это он несет? Почему в Петушках нет ни А, ни Ц, а одни только Б? На кого он, ...., намекает?


 
mfender   (2003-10-02 15:24) [13]


> JibSkeart © (02.10.03 15:16) [11]
да это так а слабо программно ???


Угу...


 
JibSkeart   (2003-10-02 15:49) [14]

Что дейсвительно неясно изложил задачу ?


 
Verg   (2003-10-02 15:58) [15]

http://algolist.manual.ru/maths/graphs/index.php


 
JibSkeart   (2003-10-02 16:05) [16]

Спасибо
почитаем ...


 
Igorek   (2003-10-02 16:10) [17]

"А в Потрепаться все треп и треп..."

Тот же волновой алгоритм нахождения кратчайшего пути на графе. Кстати предлагаю пускать две волны - с начала и с конца. Так обычно фронты быстрее сойдуться чем один до конца.
Если относительно графа есть какие либо предположения, то можно соотв. модифицировать алгоритм. Напр. это двумерная карта с островами. Но это уже другая история.
И зачем реализовывать, если можно словами... Хотя реализация тоже нетривиальна.


 
JibSkeart   (2003-10-02 16:15) [18]

ну дело в том что у меня есть только данные
такие

1->2
2->3
2->1
3->4
3->7

и так далее ...

думещь испольуя только эти точки можно воспользоватся им ?


 
Igorek   (2003-10-02 16:24) [19]

Канечна, думаю. Это ж матрица инциденций графа. Но подробно никто тебе не напишет - сам рой теорию графов и волновой алгоритм.

Или нет. Нафиг волновой алгоритм. Сделай так:
простой перебор; запускаешь рекурсивную ф-цию, параметр - начало; помечаешь начало как использованный пункт; потом вызываешь ее саму для всех точек в которые можно попасть из текущей; заносишь также текущую точку в глобальный массив пути; когда попал в конечную точку - дописываешь путь в таблицу путей;
Когда все переберет - найдешь самый короткий путь.
Правда я уверен что сей алгоритм не даст хорошую скорость для больших графов. Но для твоего примера - самый раз.


 
Mike B.   (2003-10-02 16:32) [20]

> JibSkeart © (02.10.03 14:54)
Я все это уже плохо помню но, по-моему, кроме волнового алгоритма, тебе стоит поискать еще алгоритмы Дейкстры, Флойда и их товарища Краскала. Возможно они тебе помогут.


 
Игорь Шевченко   (2003-10-02 16:55) [21]

Mike B. © (02.10.03 15:16)

:beer: фарева! :))))


 
JibSkeart   (2003-10-02 17:18) [22]

Igorek © (02.10.03 16:24) [19]

в том то и дело что у меня 1050 точек :(((
и именно методом перебора я это сделал ...

Mike B. ©

ладненько взгляну ...


 
NeyroSpace   (2003-10-02 18:05) [23]

Для нахождения одного кратчайшего пути быстрее всего алгоритмы Дейкстры или Форда-Фалкерсона.
Но если потом вдруг понадобятся альтернативные пути - делай сразу на волновом алгоритме.
Реализация всего 4 цикла. Зато получишь матрицу крадчайших путей со всеми альтернативными маршрутами.


 
JibSkeart   (2003-10-03 12:06) [24]

А где примеры можно посмотреть ???


 
JibSkeart   (2003-10-03 14:40) [25]

???

какие мысли еще есть ?



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.012 c
1-74226
Tommy
2003-10-08 15:06
2003.10.23
nado 4tobi v Gride pravilno visve4ivalis gre4ekie bukvi...


14-74381
MBo
2003-10-03 06:50
2003.10.23
Планы партии - планы народа.


3-74089
LiO
2003-10-02 06:07
2003.10.23
проблема с ADO+MS SQL


3-74086
Zhouck
2003-10-01 10:45
2003.10.23
Какое событие срабатывает в DBGrid при переходе на другую запись


3-74056
Vemer
2003-10-02 18:05
2003.10.23
Глюки TDBLookupComboBox.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский