Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Деревья 
:(
    Опции темы
Forpost
Дата 1.7.2012, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 24.9.2007

Репутация: нет
Всего: нет



Здравствуйте.
Уважаемые коллеги, подскажите, пожалуйста, решение задачи.
Необходимо создать взвешенное дерево(т.е. каждая связь будет есть свой вес=числовое значение).
Необходимо иметь возможность добавлять наследника, указав номер родителя. 
PM MAIL   Вверх
Forpost
Дата 4.7.2012, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 24.9.2007

Репутация: нет
Всего: нет



Появилась следующая идея реализации:
Создаём два массива:
1. Двумерный массив, первый индекс которого отвечает за уровень вложенности; второй индекс отвечает за те элементы, которые находятся на текущем уровне.
2. Двумерный массив отношений. $relations[parent's_index][son's_index]=вес связи.

Однако, как при такой структуре получить массив всех элементов, которые входят в поддерево родителя K? К может быть и корнем дерева, и листьями, и любым другим значением. 
PM MAIL   Вверх
Fortop
Дата 4.7.2012, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



А чем дерево отличается от списка?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
aleks2020
Дата 4.7.2012, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 30.4.2012

Репутация: нет
Всего: нет



Одного массива хватит, если не ошибаюсь.
PM MAIL   Вверх
Forpost
Дата 5.7.2012, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 24.9.2007

Репутация: нет
Всего: нет



Цитата

Одного массива хватит, если не ошибаюсь. 

Может быть и хватит. Только я не нашел решение с одним массивом.
Цитата

А чем дерево отличается от списка? 

Тем что у одного родителя может быть несколько потомков.
PM MAIL   Вверх
Fortop
Дата 5.7.2012, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Forpost @  5.7.2012,  08:13 Найти цитируемый пост)
Тем что у одного родителя может быть несколько потомков. 

Хорошо.

А чем дерево отличается от списка списков списков списков .... и т.д.?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
MaXL
Дата 9.7.2012, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 24.10.2005
Где: Владивосток

Репутация: нет
Всего: 2



Forpost, вес может быть нулевым ?

что вам мешает написать Поиск в ширину или в глубину, начиная с выбранной вершины ?


--------------------
MaXL
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.