Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
КЗОИ
Сообщений: n/a
#1

Как в АВЛ-дереве найти самую короткую ветвь и удалить ее? - C++

24.09.2011, 22:51. Просмотров 1037. Ответов 1
Метки нет (Все метки)

Доброго времени суток.
Нужна помощь. В АВЛ-дереве надо найти самую короткую ветвь и удалить ее.
Я могу удалить только узел по ключу (ну и конечно опять сбалансировать).
Никак не пойму, как это проделать с веткой и как ее вообще найти. ((
Если кто знает, намекните, пожалуйста.
Спасибо за любую информацию.

Добавлено через 13 часов 27 минут
Н-да..
Кажись с форумом промашка вышла..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2011, 22:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как в АВЛ-дереве найти самую короткую ветвь и удалить ее? (C++):

Удалить из массива строк самую короткую строку - C++
Сформировать массив строк разной длины. Удалить из него самую короткую строку.

Сформировать массив строк. Удалить из него самую короткую строку - C++
Помогите пожалуйста. Сформировать массив строк. Удалить из него самую короткую строку

Определить самую длинную и самую короткую из введенных строк - C++
Необходимо организовать ввод 3 названия городов. А потом вывести на экран консольно самое длинное и короткое название города. Лезут ошибки...

Найти самую короткую последовательность с правильной расстановкой скобок - C++
Дана последовательность скобок, содержащая скобки четырех видов: (), , {}, <>. Требуется найти самую короткую последовательность с...

Открыть заданный текстовый файл, найти в нем и вывести на экран самую короткую строку - C++
Открыть заданный текстовый файл, найти в нем и вывести на экран самую короткую строку. Что не так, подскажите, пожалуйста! #include...

Определить число узлов в дереве, в которых есть указатель только на одну ветвь - C++
Люди добрый помогите ,пожалуйста, нужно определить число узлов в дереве, в которых есть указатель только на одну ветвь. Мой код дерева: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Merovingian
54 / 54 / 5
Регистрация: 24.09.2011
Сообщений: 149
25.09.2011, 01:28 #2
обычным DFS это можно сделать, записывая указатели на вершин в стек, я бы еще завел глобальный счетчик длины и рабочий счетчик.

Можно сделать с помощью алгоритма флойда, он для графа, но дерево - это частный случай графа, а именно ациклический орграф. Нужно будет реализовать алгоритм так, чтобы он искал все пути только от корня! Длина пути будет найдена и останется еще раз пробежаться по дереву и удалить ветку длина которой равна той длине, которая найдена с помощью алгоритма флойда, опять же понадобиться стек))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2011, 01:28
Привет! Вот еще темы с ответами:

В бинарном дереве определить число узлов у которых есть указатель только на одну ветвь. - C++
Помогите плз. Нужен код на определение числа узлов у которых есть указатель только на одну ветвь. код дерева #include<iostream.h> ...

Строки. Вывести на экран самую короткую группу из 0 и 1. - C++
Помогите плз написать код. Дана строка, состоящая из групп нулей и единиц. Найти и вывести на экран самую короткую группу.

Определить самую короткую строку текстового файла - C++
помогите пожалуйста

Строки. Вывести на экран самую короткую группу из 0 и 1 - C++
Дана строка, состоящая из групп нулей и единиц. Найти и вывести на экран самую короткую группу. Попроще только, без #include <algorithm>...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru