![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 2 Всего: 13 |
Задача состоит в удалении поддеревьев с определенным числом листьев( 3,4 это уже не бинарное дерево).Если я правильно понял это n-мерное дерево или граф,
пока точно не понял, помогите разобраться. Подскажите пожалуйста литературу и ссылки на реализацию n- мерных деревьев, в интернете/книгах информация только о бинарных деревьях. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Да какая разница? В n-мерном дереве не 2 потомка у элемента, а больше, вот и все. С точки зрения хранения, удаления и прочего - нет большой разницы. Просто бинарные деревья имеют некие специальные свойства и применения, вот о них много и пишут. Что касается графов, то да, дерево - частный случай графа. Но устройство графа сложнее, так что если тебе нужно именно дерево (т.е. иерархическая структура), лучше дерево и строй.
-------------------- ... |
|||
|
||||
| toxx |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 2 Всего: 13 |
Да, как я нашел разницы особой нет. Но мне интересно 1.Какая структура будет у н-мерного дерева, если у бинарного такая
2.Какое условие сделать при добавлении элемента? У бинарного всё понятно больше правое поддерево, меньше левое. Это сообщение отредактировал(а) toxx - 17.3.2010, 11:12 |
||||
|
|||||
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 1 Всего: 20 |
Например так:
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
1. Например, массив указателей на детей - если число детей строго ограничено и невелико. Или список. Или вектор.
2. Больше-меньше - это не просто двоичное дерево, а дерево поиска. А просто двоичное - без разницы кого куда. Соответственно, для произвольного дерева просто добавляем элемент в список детей. Для какой-то конкретной задачи при добавлении элемента может происходить какой-то анализ и спуск элемента по ветвям. Но в общем случае - все тупо. -------------------- ... |
|||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 2 Всего: 13 |
Earnest,Artemon
До конца я не понимаю как можно добавлять вершины/листья если не фиксированное число листьев(вершин). Наверно нужно попробовать сделать. Спасибо, что маленько прояснили(хоть структура какая должна быть ясно).А литература кроме Вирта и Кнута есть какая-нибудь? В Вирте написано в основном про двоичные,бинарные деревья.Отсутствие книг тоже пугает, без них сложновато. Это сообщение отредактировал(а) toxx - 17.3.2010, 16:53 |
|||
|
||||
| ИванМ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1260 Регистрация: 19.6.2006 Где: СПб Репутация: 1 Всего: 23 |
||||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Чего бояться-то, не дом строишь, на голову не упадет. Компьютер тем и хорош, что все стерпит. Книги хорошо, но голову тоже включать надо. Дерево - структура простая, тебе все написали, собственно. Дальше - твори. Добавлено через 3 минуты и 30 секунд Но хорошую книгу все же назову: Роберт Седжвик, Фундаментальные алгоритмы на С, части 1-4 посвящены структурам данных и алгоритмам, часть 5 - графы. Про деревья общего вида там немного, но достаточно, чтобы разобраться. -------------------- ... |
|||
|
||||
| cmygeHm |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 3.12.2008 Репутация: -1 Всего: -2 |
Ребят, как вот такую вот такое вот дерево в XML выгрузить? Как пройтись по всем листьям дерева?
|
|||
|
||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
[offtopic]
Это в рамочку и на стенку. Философия С/С++. [/offtopic] -------------------- |
|||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 2 Всего: 13 |
обходить както так
Это сообщение отредактировал(а) toxx - 5.8.2010, 09:50 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
kemiisto, почему только С\С++? По моему, к любому программированию относится. Даже если что-то сделаешь неправильно\неудачно, ничего, кроме времени, не потратишь и не испортишь безвозвратно, и любую ошибку можно устранить гораздо дешевле чем в реале.
cmygeHm, как обходить дерево, читай в книгах. В общих словах, существуют 2 разных способа - в ширину и в глубину. А куда этот обход засунуть - в XML или еще куда - дело десятое. И следующий раз не пиши в чужих темах, создай свою. -------------------- ... |
|||
|
||||
| cmygeHm |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 3.12.2008 Репутация: -1 Всего: -2 |
||||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |