![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Still |
|
|||
PHP-программист ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 27.5.2007 Репутация: нет Всего: нет |
Мне нужно построить бинарное дерево в графическом виде. Какие компоненты посоветуете использовать для этого?
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Я в универе писал такой компонент можно глянуть тут описание файлы и примеры http://alexei-s1.narod.ru/1.htm
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 7 Всего: 38 |
Вообще вопроса не понял. Построить дерево - море компонентов, от TReeView до TVirtualTreeView... -------------------- ![]() |
|||
|
||||
Still |
|
|||
PHP-программист ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 27.5.2007 Репутация: нет Всего: нет |
Опишу чуть подробнее.
Дана произвольная математическая формула. Для построения дерева нужно получить центральный знак (+ | - | * | /) с наименьшим приоритетом и взять его за самый первый (верхний) узел дерева. Далее идет разбивка на две ветви (левая и правая ветви от верхнего узла), каждая из которых по тому же принципу разделяет следующие операции. Покажу на примере. Есть формула: a*b-(c+d)-h Дерево формулы: - / \ * - / \ / \ a b h + / \ c d Как узнать, что за чем идет это не сложно. Проблема в графическом отображении дерева. |
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Still, Напиши клас в каждого узла по две ветки... и создоваи рекурсивно...
|
|||
|
||||
aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 7 Всего: 38 |
Какая проблема? Отрисовать линии, символы на холсте? -------------------- ![]() |
|||
|
||||
Still |
|
|||
PHP-программист ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 27.5.2007 Репутация: нет Всего: нет |
aktuba,
Угу. Вроде уже разобрался, но все равно не откажусь от совета. |
|||
|
||||
WaReZMEN |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Вот кусок правда это не совсем дерево но если расширить растояние между узлами получится что нужно...
Вот скрин Присоединённый файл ( Кол-во скачиваний: 18 ) ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |