![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 16.01.2013
Сообщений: 4
|
![]() Код HTML:
http://pastebin.com/5hVJkqZN ![]() (пс. на ассимпотическую сложность можете не указывать, сам знаю ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
Во-первых, отладчик (или отладочная печать) - что, собственно, происходит неверного.
Во-вторых... Вы меняете обходимый объект. Выкиньте из объекта графа компонент line и всё что с ним связано в отдельный класс - это уменьшит Ваши шансы запутаться. Желательно ещё пометить методы, не меняющие объекта, как константные и вынести поиск в отдельную функцию, передав ссылку на граф константным аргументом - тогда компилятор будет страховать Вас от ошибок. В-третьих, если я правильно понимаю смысл line, Вы храните только вершины, но не стоимость попадания в них - но в процессе поиска в ширину мы можем посетить одну вершину несколько раз. Наконец, мы вовсе не храним и не анализируем длину пути - так что получается не "поиск в ширину", а "поиск в случайном порядке". В-четвёртых, если у нас есть ребро из вершины 1 в вершину 10, а всего вершин 5, после первой итерации tested может оказаться равно 10 и условие while будет нарушено. |
![]() |
![]() |
![]() |
#3 | |
Новичок
Джуниор
Регистрация: 16.01.2013
Сообщений: 4
|
![]() Цитата:
2 А как передавать аргументы функции, если граф локальный? Одним из аргументов будет граф?int function(Graph a)? 3 Лайн-очередь. Сейчас речь идёт о том, можно ли попасть из A в B, без стоимости. Я только начал учить графы. Позже запишу. 4 Вы правы условие tested<=size излишне. |
|
![]() |
![]() |
![]() |
#4 |
Новичок
Джуниор
Регистрация: 16.01.2013
Сообщений: 4
|
![]()
Да..и тестед никогда не будет 10, при входном ребре 1 10.
Оно принимает номер наименьшего ребра. можете привести пример, когда 2 раза посещаем 1 вершину? Почему случайны поиск? Смеша tested строго определена следующим членом очереди, которые в свою очередь попадают туда в порядке обхода от наименьшей вершины. |
![]() |
![]() |
![]() |
#5 | ||||
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
|
||||
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 16.01.2013
Сообщений: 4
|
![]()
Не работало...уже исправил. Я просто хочу критики первый раз пишу с классами. Так..а в в самой функции при передаче ей указателя, как к объекту обращаться? &gr.блаблабла?
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обход графов в Ширину С++ Builder | Dimarik152 | C++ Builder | 1 | 07.06.2010 13:40 |
Игра на Pascal (обход в ширину) | Sparky | Помощь студентам | 5 | 18.12.2009 18:30 |
обход графа в ширину! | КсенияСергеевна | Общие вопросы C/C++ | 0 | 12.12.2009 23:25 |
обход графа в ширину | anemy | Помощь студентам | 0 | 20.11.2009 01:02 |
Обход графа в ширину. | ZhooZhik | Помощь студентам | 1 | 06.04.2009 08:35 |