![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| maxi2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 8.5.2012 Репутация: нет Всего: 1 |
У меня было такое задание. Есть начальный и конечный пункты. Между ними есть другие пункты. Надо организовать алгоритм прохода по пунктам без повторений. То есть я так понимаю при встрече первого пункта его надо как то обозначить и после очередной встречи не проходить его снова. Но как это сделать при помощи цыкла for; или например стэка. Я сам недостаточно понял смысл задание но понимаю что алгоритм должен быть какой то достаточн простой?
|
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 23 Всего: 48 |
Судя по описанию, вы хотите организовать обход графа.
Существуют два основных подхода - обход графа в глубину и в ширину. http://en.wikipedia.org/wiki/Graph_traversal В обоих случаях для запоминания уже пройденных вершин можно использовать либо массив boolean, либо Set, в зависимости от типа данных, который вы используете для обозначения вершин. Это сообщение отредактировал(а) Stolzen - 14.10.2013, 23:36 |
|||
|
||||
| maxi2 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 8.5.2012 Репутация: нет Всего: 1 |
Я понял что sеt не позволяет добавление дублирующих элементов. Но мне кажется там надо какую то метку поставить. То есть правильно вы говорите что ставить ЧЕКЕД как тру. Но как на практике это реализовать. То есть как построить код. То есть это напоминает выбор всех шаров из ящика после которого их кладут назад. если поставить метку чекед то где гарантия что некоторые заранее их не имеют. Что надо проверять не помечены эти пункты некоторым образом а если помечены то это уже факт что неправильно использовать этот обьект снова. Хотя может здесь и надо было просто пояснить суть этого алгоритма. Однако я подумал что это какой то элементарный вопрос. Сперва вообще подумал что это вопрос о наиболее кратком пути-дейкстры.
|
|||
|
||||
| Magistrus |
|
|||
![]() Жив ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 14.6.2006 Где: г. Одесса Репутация: нет Всего: 1 |
Если обходить граф методом в глубину, нужry стэк и рекурсия.
Это сообщение отредактировал(а) Magistrus - 15.10.2013, 11:12 --------------------
~ вот такая вот загагулина ~ |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |