Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 06.11.2014
Сообщений: 27

Перебалансировка узлов при реализации АВЛ-дерева

07.11.2015, 11:59. Показов 2222. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Необходимо реализовать АЛВ-дерево. Для этого создал два класса, Node и Tree.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
class Node(object):
 
    def __init__(self, key=None, left=None, right=None):
        self.key = key
        self.height = 1
        self.left = left
        self.right = right
 
class Tree(object):
 
    def __init__(self):
        self.root = Node()
        self.treeheight = 1
В момент, когда алгоритм обнаруживает, что дерево необходимо сбалансировать, например, влево относительно localroot, выполняется следующая функция класса Tree:
Python
1
2
3
4
5
6
7
8
 def left_rotation(self, localroot):
        old_root = localroot
        new_root = localroot.right
 
        old_root.right = localroot.right.left 
        new_root.left = old_root
        localroot = new_root
        #  перебалансировка высот
Однако после отработки функции никаких изменений в объекте Tree не происходит. (IDE пишет в седьмой строке, что localroot вообще не используется). Понял, что проблема, скорее всего, связана с неправильным доступом к ячейке, где хранится переменная; но не представляю себе, как это исправить.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.11.2015, 11:59
Ответы с готовыми решениями:

Комменты к реализации Красно-черного и АВЛ дерева
Люди добрые помогите разобрать и по возможности написать комментарии к этим 2м кодам .. Это коды Реализации Красно-черного и АВЛ дереве и...

Вывод списка узлов дерева (при обходе этого дерева в прямом порядке)
2. Написать программу, выводящую списки узлов дерева, при обходе этого дерева в прямом порядке. есть решения ?

В чем разница идеально сбалансированного дерева и АВЛ дерева?
Добрый день, сам вопрос впринципе описан в заголовке. Перелазил большую часть интернета и везде на запрос "идеально...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.11.2015, 11:59
Помогаю со студенческими работами здесь

Шаблонный класс АВЛ-дерева на основе шаблонного класса банкарного дерева(с использованием паттерна "Стратегия')
Задача заключается в следующем: Пока что я написал только задание 0, вот код из файла binary_tree.h(виртуальные функции...

Сравнение бинарного дерева и АВЛ дерева
Здравствуйте, уважаемые форумчане. Делаю лабораторную по структурам данных и столкнулся с неожиданной проблемой. Если создавать маленькие...

Выделение узлов дерева при DragOver
Здравствуйте! Такой вопрос: перетаскиваю на TreeView узел с другого TreeView. При этом узлы дерева, на которое я перетаскиваю, должны...

Как избежать бесконечной рекурсии при добавлении узлов дерева
Здравствуйте, уважаемые форумчане! Подскажите, пожалуйста, как избежать бесконечной рекурсии при добавлении узлов дерева? Наверное,...

Вывод АВЛ дерева
Доброго всем времени суток! Столкнулся с небольшими трудностями при работе с АВЛ деревом. Задача следующая: из исходного файла считываю...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru