0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 7
|
|
1 | |
Необычный вывод бинарного дерева11.10.2011, 23:19. Показов 2358. Ответов 6
Метки нет (Все метки)
вообщем воспользовался я поиском ничего похоже на решение моей проблемы нету.
суть состоит в том что мне нужно ввести с клавиатуры кучу идентификаторов, записать их куда то, посчитать общее значение и вывести графикой на форму. все делается в билдере 6 и только с использованием графических элементов. Все было хорошо но застопорился я. Вообщем записал я все что мне нужно в БД там же посчитал. но вот вывести не могу/не умею. вывод должен быть на саму форму примерно такого вида: a /\ bc /\/\ cddc и тд и тп. Мне нужен хотя бы пример ибо кроме результата я еще хочу понять это)) Добавлено через 11 часов 32 минуты и да простит меня модер. Тема ап
0
|
11.10.2011, 23:19 | |
Ответы с готовыми решениями:
6
Обход бинарного дерева Организация бинарного дерева поиска Поиск заданного элемента бинарного дерева Высота бинарного дерева поиска |
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
12.10.2011, 08:23 | 2 |
Ты не сможешь использовать std::map, т.к. тебе требуется "необычный" обход дерева. Поэтому сперва напиши свою реализацию бинарного дерева.
Как вариант, можно использовать массив с последующей сортировкой. Для отрисовки использовать "бинарный обход". Высота дерева - log2(N), ширина 2^(log2(N)-1). Нарисовать кружочки с цифрами и соединить их линиями не проблема...
0
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 7
|
||||||
12.10.2011, 10:30 [ТС] | 3 | |||||
да вообщем сортировать дерево мне то и нельзя потому и обратился за помощью. вершина дерева ето первый елемент в БД следующий елемент сравниваеться с первым и потом строиться влево или в право.
вчера домучился примерно до такого вивода a /\ b c / \ d g но ведь мне йолочка ненужна
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
12.10.2011, 10:36 | 4 |
Если выводить дерево в процессе чтения элементов из БД, то дерево будет не сбалансированным. В худшем случае это будет список.
Сортировать дерево тебе нельзя по той простой причине, что бинарное дерево всегда отсортировано по определению. А сортировать я предлагал массив.
0
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 7
|
|
12.10.2011, 10:42 [ТС] | 5 |
думал еще сделать через флаги R и L то есть если число больше присваиваться флаг R меньше-L и когда идет сравнение если число меньше то сравнивать с следующим числом у которого флаг L но столкнулся с тривиальной проблемой. При записи в БД 1 идентификатор в низу таблици а поиск начинается сверху.
0
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
12.10.2011, 10:44 | 6 |
..........5
.....3........9 ...1...2...7....13 Идентификаторы сами по себе L и R.
0
|
0 / 0 / 0
Регистрация: 26.04.2010
Сообщений: 7
|
|
12.10.2011, 10:52 [ТС] | 7 |
ну тогда я просто не понимаю как мне правильно построить цикл(
0
|
12.10.2011, 10:52 | |
12.10.2011, 10:52 | |
Помогаю со студенческими работами здесь
7
Вывод бинарного дерева в виде дерева Вывод бинарного дерева Вывод бинарного дерева Вывод бинарного дерева Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |