![]() |
|
|
![]()
|
|
| PRF |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 13.10.2007 Репутация: нет Всего: нет |
Здрасти!! помогите пожалуйста!!!
Придумайте способ хранения дерева с произвольным ветвлением, при котором в каждой вершине хранятся всего два (а не три, как в схеме «левый ребенок-правый сосед») указателя плюс одна булева переменная. Спасибо! |
|||
|
||||
| maxdiver |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 29.1.2008 Где: Саратов Репутация: 16 Всего: 18 |
"Левый рёбенок" + "Правый сосед" = 2
Зачем нужен третий указатель, я что-то не понимаю. |
|||
|
||||
| PRF |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 13.10.2007 Репутация: нет Всего: нет |
Я сам точно не понимаю, но так вроде, на левого ребенка , правый сосед, и на вершнину! Короче дерево с произвольным ветвлением!!
|
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 7 Всего: 183 |
Еще нужен парент. Хотя во многих алгоритмах без парента прожить можно, но есть случаи, когда очень неудобно без него.
-------------------- ... |
|||
|
||||
| ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 2 Всего: 17 |
Ты не поверишь, этот способ и есть дерево! По сути это однонаправленный список структур, содержащих три поля: два указателя на ветви "соседа" и "ребёнка" и одна булева переменная. -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
| maxdiver |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 29.1.2008 Где: Саратов Репутация: 16 Всего: 18 |
Ну без parentа практически всегда можно обойтись. А удобство - это уже второстепенный вопрос, здесь же требуется _хранить_ дерево, а не делать с ним что-то
Правда, мне ещё непонятно, зачем boolean нужен |
|||
|
||||
| Kallisto |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 20.4.2007 Репутация: нет Всего: -1 |
я выкрутился след. образом:
1. Каждый узел был пронумерован, от 1 до N. 2. Далее прохожусь по дереву и пишу в файл: номер, значения узла. И запоминаю с какими узлами связан этот узел 3. после записи значений, пишу связи. Пример: ![]() Красный - номер вершины. Синий - значение. Выходной файл:
|
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
А можно не хранить нумерацию. Можно её выстраивать из пар предок-наследник. Вроде на бумажке возможно
-------------------- Всем добра |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |