![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 09.12.2011
Сообщений: 13
|
![]()
этот код размещает в памяти определенное дерево, нужно найти размер этого дерева.
//объявление структуры на первую вершину struct Vertex { int data; Vertex *L; Vertex *R; }tree1; int main (void) //объявление указателя на структуру и новых экземпляров структуры Vertex { struct Vertex *pVertex1; struct Vertex tree2, tree3, tree4, tree5, tree6; //инициализация указателя pVertex1 = &tree1; tree1.data = rand()%100; //заполнение полей первой вершины tree1.L = &tree2; tree1.R = &tree3; tree2.data = rand()%100; //заполнение полей второй вершины tree2.L = NULL; tree2.R = NULL; tree3.data = rand()%100;//заполнение полей третьей вершины tree3.L = &tree4; tree3.R = NULL; tree4.data = rand()%100; //заполнение полей четвертой вершины tree4.L = &tree5; tree4.R = &tree6; tree5.data = rand()%100; tree5.L = NULL; tree5.R = NULL; //заполнение полей пятой вершины tree6.data = rand()%100; //заполнение полей шестой вершины tree6.L = NULL; tree6.R = NULL; getch(); } Дан алгоритм на псевдокоде: определение размера дерева. p - указатель на (структуру) вершину дерева IF (p =NIL) размер:=0 ELSE размер:=1 + размер(p->Left) + размер(p->Right) FI подскажите, пожалуйста, как это будет выглядеть на с++, не могу никак понять. Последний раз редактировалось sibguty; 09.12.2011 в 15:44. |
![]() |
![]() |
![]() |
#2 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
![]() Код:
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 09.12.2011
Сообщений: 13
|
![]()
а где можно оставить отзыв? еще плохо здесь ориентируюсь
|
![]() |
![]() |
![]() |
#4 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
![]()
весы под аватаром
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 09.12.2011
Сообщений: 13
|
![]()
я так понимаю, что эту функцию лучше считать в цикле, тк у меня в дереве 6 вершин?
|
![]() |
![]() |
![]() |
#6 |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
![]()
ну, видимо, да.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 09.12.2011
Сообщений: 13
|
![]()
ну это в том случае, если я знаю количество вершин, тогда существование этой функции становится бессмысленным, а если я не знаю размера дерева и мне надо его узнать, как тогда ??? Как заставить программу пройти по всем вершинам?
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 08.12.2011
Сообщений: 45
|
![]() Код:
|
![]() |
![]() |
![]() |
#9 | |
Software Developer
Участник клуба
Регистрация: 01.03.2011
Сообщений: 1,098
|
![]() Цитата:
У тебя есть дерево, в нем есть некоторое количество вершин. В функцию ты передаешь указатель на вершину и функция считает количество узлов, начиная с этой вершины. Передашь ссылку на корневую вершину -- посчитает общее количество. Сама посчитает. Она рекурсивная.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв. Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062 |
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 09.12.2011
Сообщений: 13
|
![]()
ошибку выдает в этой строке
else return ((p->L) + (p->R) + 1); (invalid operands of types 'Vertex*' and 'Veretex*' to binary 'operator+') |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двоичные деревья | Raz0r | Помощь студентам | 7 | 11.12.2011 10:32 |
Двоичные деревья на Pascal-е | seo-romka | Помощь студентам | 2 | 28.04.2011 17:58 |
Двоичные деревья (паскаль). | patisson74 | Помощь студентам | 2 | 16.11.2010 23:46 |
Двоичные деревья. | Maksik | Помощь студентам | 1 | 22.06.2010 21:57 |
Двоичные деревья в Паскале | Paulo | Помощь студентам | 0 | 25.06.2009 23:31 |