![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Wyatt |
|
||||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 5.6.2010 Репутация: нет Всего: нет |
Есть допустим у нас класс который реализует Binary Tree.
вопрос в следующем: допустим есть дерево:
но size 9 то есть F считает как один элемент. Вот не знаю это правильно или нет ? |
||||
|
|||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
Я, честно говоря, вообще не понял суть вопроса.
|
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
Хм... А как такое может быть правильно? Добавили в древовидную структуру данных 9 элементов, а метод подсчёта элементов явно ошибочно рапортует только о 8. Или возможно где=то в другом месте ошибка... Вы уверены, что причина в этом? У Вас есть исходный код? -------------------- |
|||
|
||||
Wyatt |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 5.6.2010 Репутация: нет Всего: нет |
вообщем есть класс BinaryTree.
добавлаю я в дерево следующие значения
на выходе получаю что size равно 7(хотя значений 9, то есть одинаковые элементы удалиться ) а height: 3. вот я и хочу узнать правильно ли то что одинаковые элементы удаляются ? что на выходе мы получаем size 7 вместо 9 Добавлено через 44 секунды Вы уверены, что причина в этом? У Вас есть исходный код? да есть |
|||
|
||||
kemiisto |
|
||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
Если Вам нужно именно бинарное древо, то там можно иметь сколько угодно узлов с одинаковым значением. Главное, чтобы выполнялось рекурсивное определение
-------------------- |
||||
|
|||||
Wyatt |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 5.6.2010 Репутация: нет Всего: нет |
....
Это сообщение отредактировал(а) Wyatt - 21.6.2010, 21:12 |
|||
|
||||
kemiisto |
|
||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
Wyatt, ну вот! Ошибка простенькая.
А что делать, если data.compareTo( current.data ) окажеться нулём у Вас не описано! Вот ничего и не происходит при добавлении элемента, значение которого уже есть в древе. Нужно одно из неравенств сделать нестрогим. А уж не двоичное ли древо поиска Вы пишете? Тогда надо так:
Тут бы можно упростить, но так как это Java, я не буду соваццо. ![]() Это сообщение отредактировал(а) kemiisto - 20.6.2010, 18:58 -------------------- |
||||
|
|||||
Wyatt |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 5.6.2010 Репутация: нет Всего: нет |
да двоичное )).
только чтото неправильно возвращает height: 4. а по идее в этом примере должно возвращать 3 (( или я может не правильно тестирую ? можете привести пример как тестировать дерево ? я сейчас делаю вот так:
и так как я понимаю должно быть в дереве 9 элементов и height должно быть 3 ? правильно ? Это сообщение отредактировал(а) Wyatt - 21.6.2010, 09:54 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |