2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Поисковое дерево
Сообщение14.02.2009, 11:05 


14/01/07
47
Найти все пути длины h, соединяющие листья дерева (h – высота дерева). Среди корней этих путей выбрать те, которые расположены на максимальной глубине, и удалить (правым удалением) тот из них, который является средним по значению.

Помогите построить алгоритм действия. Вся сложность состоит втом, что путь длины h, а не максимальный или минимальный

 Профиль  
                  
 
 
Сообщение14.02.2009, 12:53 
Заслуженный участник
Аватара пользователя


01/08/06
3128
Уфа
Я так понимаю, путь не должен проходить дважды через одно и то же ребро?

Тогда здесь поиск в ширину должен помочь. Учитывая, что в дереве путь от любой вершины до любой другой единственен, достаточно найти множество листов, доступных за h шагов.
Перед каждым шагом у нас есть множество текущих вершин, множество посещённых вершин и (оставшиеся) множество непосещённых вершин.
На шаге рассматриваем все непосещённые вершины, делаем их текущими, а текущие делаем посещёнными.
На h-м шаге у нас будет множество вершин, доступных за h шагов (=путей длины h). Выбираем из них листы, дальше простой перебор.

 Профиль  
                  
 
 
Сообщение17.02.2009, 13:48 


14/01/07
47
Спасибо за ответ, но видимо Вы недопоняли условие. Вообще нужно это сделать за два прохода дерева. Алгоритмы я нашел, но все они порядка
Код:
n^2
. Хотел по меньше сложность найти(n-колличество вершин)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group