2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
|
|||||||||||
1 | |||||||||||
Балансировка АВЛ-дерева14.01.2013, 11:43. Показов 7601. Ответов 8
Метки нет Все метки)
(
Доброй ночи, пытаюсь написать балансировку дерева, нашел статью с примерами, но дерево не балансируется, пожалуйста укажите ошибку, код класса:
выяснил, что не выполняется условие, но не могу понять почему:
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
14.01.2013, 11:43 | |
Ответы с готовыми решениями:
8
Балансировка дерева Балансировка двоичного дерева Балансировка бинарного дерева Балансировка AVL дерева |
1447 / 1119 / 345
Регистрация: 11.04.2011
Сообщений: 2,615
|
|
14.01.2013, 16:50 | 2 |
А что этот bFactor должен возвращать? Он возвращает разность между свойствами Height левого и правого узла. Height, в вашем случае, всегда равен 1 (либо вы что то здесь утаиваете). Следовательно, значение метода bFactor может принимать одно из трех значений: -1, 0, 1. То есть, данный метод никогда не вернет ни 2, ни -2.
0
|
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
|
|
14.01.2013, 16:52 [ТС] | 3 |
видимо это ошибка в той статье, где я смотрел, буду искать дальше, не очень получается понять как сбалансировать дерево
0
|
Master of Orion
![]() |
||||||||||||||||
14.01.2013, 22:03 | 4 | |||||||||||||||
Kreativ, совет: используйте автосвойства в одну строчку, тогда объявленые поля займут в 5 раз меньше места, т.к. вместо 5 строк будут занимать одну. И постарайтесь выделять похожие места в один метод, например
Причем по сути вызов метода можно вообще в одну строку записать (расписал в 4 тупо для ясности).
1
|
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
|
|
15.01.2013, 00:55 [ТС] | 5 |
ух, из 23 строк сократить настолько, надеюсь стиль выработается, чувствую, если вы будете смотреть мои посты, то я точно начну так писать ) Это уже не первый раз, когда вы обращаете моё внимание на это. Буду стараться писать грамотней.
0
|
Master of Orion
![]() |
||||||||||||||||
15.01.2013, 01:11 | 6 | |||||||||||||||
Не по теме: Kreativ, да ну :D Не повезло вам со мной. А я вот не замечаю, кому что говорю :D Почитайте про рефакторинг (Мартин Фаулер "Рефакторинг. Улучшение существующего кода", еще есть книжечка "чистый код"), очень прочищает мозги. Тогда не надо будет на своих ошибках учиться. Как говорит народная мудрость "умный учится на чужих ошибках, глупый - на своих, дурак - ни на каких не учится". Я надеюсь, что вы пойдете первым путем, хотя бы потому, что такие люди как вы меня окружают, а общаться с умными интереснее ![]() Добавлено через 5 минут И еще: у элементов есть не свойство Height, а свойство Level, Height - свойство дерева и подчиняется уравнению Height = Max(Level) Добавлено через 4 минуты Не подумайте, что придираюсь ![]()
![]()
0
|
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
|
|
15.01.2013, 01:26 [ТС] | 7 |
не, на самом деле спасибо
![]() ![]()
0
|
Master of Orion
![]() |
|||||||||||
15.01.2013, 01:36 | 8 | ||||||||||
Kreativ, С++ живет только за счет того, что в некоторых случаях он быстрей и на нем наработана очень большая база. И если второе еще как-то его держит на плаву (хотя на Java уже 1ккк девайсов, а зная шарп можно сказать, что значете и джаву), то производительность все больше уходит в прошлое (самсунг пару дней назад аннонсировал 8-ядерный процессор для мобильных телефонов). Так что я бы в сторону С++ даже не смотрел
![]() Когда там такой код
0
|
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
|
|
15.01.2013, 01:46 [ТС] | 9 |
я под столом
![]()
0
|
15.01.2013, 01:46 | |
Помогаю со студенческими работами здесь
9
Высота авл дерева - как считать? Комменты к реализации Красно-черного и АВЛ дерева Операции над бинарными деревьями: построение дерева, обход дерева, вставка и удаление элемента дерева Балансировка DNS Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |