![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 25
|
![]()
вот есть реализация дерева:
#include <stdio.h> #include <stdlib.h> #include <alloc.h> /* Структура, описывающая узел дерева */ typedef struct item { int data; struct item *left; struct item *right; } Item; void AddNode(int data, Item **node); void LeftOrder(Item *node); void main(void) { char buffer[128]; int i; Item *root = NULL; /* корень дерева */ FILE *fp = fopen("ex52.txt", "r"); if (!fp) exit(1); /* выйти, если файл не удалось открыть */ /* Считываем значения из файла построчно */ while (fgets(buffer, 128, fp) != NULL) AddNode(atoi(buffer), &root); /* и добавляем в дерево */ LeftOrder(root); fclose(fp); } /* Добавить узел в бинарное дерево поиска */ void AddNode(int data, Item **node) { if (*node == NULL) { *node = (Item *)calloc(1, sizeof(Item)); (*node)->data = data; (*node)->left = (*node)->right = NULL; } else { if (data < (*node)->data) AddNode(data, &(*node)->left); else if (data > (*node)->data) AddNode(data, &(*node)->right); else puts("There is such element in the tree"); } } /* Обход дерева слева (вывод по возрастанию) */ void LeftOrder(Item *node) { if (node->left) LeftOrder(node->left); printf("%d ", node->data); if (node->right) LeftOrder(node->right); } нужно выветси в консоль элементы самой длинной ветви дерева. помогите пожалуйста, может у кого-то код готовый есть... |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 18.12.2011
Сообщений: 25
|
![]()
может кто алгоритм подскажет решения задачи?
нахождения максимальной глубины дерева это тоже получится ветвь с максимальной длиной??? или я ошибаюсь? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Порядковый номер самой длинной строки в файле | tshen | Помощь студентам | 5 | 10.06.2010 14:44 |
сумма бинарного дерева | Sparky | Win Api | 0 | 16.03.2010 18:15 |
Pascal. нахождения самой длинной возрастающей подпоследовательности | nemeli | Помощь студентам | 5 | 16.02.2010 16:12 |
Определить, сколько букв в самой длинной фамилии списка. | lunnamedl | Помощь студентам | 4 | 29.06.2009 11:33 |
Составление бинарного дерева | [MI_nor] | Общие вопросы C/C++ | 1 | 08.05.2009 00:28 |