Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
17 / 17 / 0
Регистрация: 18.05.2011
Сообщений: 33

Написать процедуру для определения глубины дерева

04.12.2011, 02:57. Показов 3272. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
прога готовая есть осталось написать процедуру для определения глубины дерева, представляемую как наибольшая длина пути от корня к листьям. Напишите кто знает пожалуйста.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
uses crt;
type
PNode=^Node;
 Node=record
   data:integer;
   left,right:PNode;
end;
 
var
  Tree,p1:PNode;
  n,x,i:integer;
  ch:char;
 
 
procedure AddToTree (var Tree:PNode;x:integer);
begin
 if Tree=nil then
   begin
     New(Tree);
     Tree^.data:=x;
     Tree^.left:=nil;
     Tree^.right:=nil;
      exit;
   end;
 if x < Tree^.data then
     AddToTree(Tree^.left,x)
  else
    AddToTree(Tree^.right,x);
end;
 
 
function Search(Tree:PNode;x:integer):PNode;
var
p:PNode;
begin
  if Tree=nil then
     begin
       Search:=nil;
       exit;
     end;
  if x=Tree^.data then
    p:=Tree
     else
       if x < Tree^.data then
          p:=Search(Tree^.left,x)
       else
         p:=Search(Tree^.right,x);
  Search:=p;
end;
 
 
procedure Lkp(Tree:PNode);
begin
  if Tree=nil then
   exit;
  Lkp(Tree^.left);
  write('  ',Tree^.data);
  Lkp(Tree^.right);
end;
 
procedure DeleteTree(var Tree1:PNode );
begin
        if Tree1 <> nil then
          begin
            DeleteTree (Tree1^.LEFT);
            DeleteTree (Tree1^.RIGHT);
            Dispose(Tree1);
          end;
end;
 
 
 
 
begin
 Tree:=nil;
 repeat
    Writeln('1. Создать');
    Writeln('2. Поиск');
    Writeln('3. Вывод');
    writeln;
    readln(ch);
    case ch of
      '1': begin
            clrscr;
            writeln('кол-во элементов');
            readln(n);
              for i:=1 to n do
                begin
                  writeln('Введите число');
                  readln(x);
                  AddToTree(Tree,x);
                end;
                   clrscr;
           end;
       '2': begin
               clrscr;
               writeln('Элемент для поиска');
               readln(x);
               p1:=Search(Tree,x);
                  if p1 <> nil then
                    writeln('Найден')
                  else writeln('Такого элемента нет!');
            end;
            
        '3': begin
              clrscr;
              writeln('Само дерево');
              Lkp(Tree);
              writeln;
             end;
        end;
   until ch='5';
   DeleteTree(Tree);
end.
Добавлено через 7 часов 34 минуты
ну же люди, подмогните.)
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.12.2011, 02:57
Ответы с готовыми решениями:

Написать процедуру, которая по заданному n считает число всех вершин глубины n в заданном дереве
нужны программы к двум задачкам не могу справиться.. очень нужна ваша помощь Написать процедуру, которая по заданному n считает число...

Написать функцию для определения предельной глубины несимметричного двоичного дерева
Написать функцию для определения предельной глубины несимметричного двоичного дерева на С. Дан шаблон. Буду очень признателен за помощь. ...

Написать процедуру/функцию для определения количества пробелов в заданной текстовой строке
Написать процедуру функцию для определения количества пробелов в заданной текстовой строке. Пожалуйста, напишите кто знает.

2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
04.12.2011, 11:27
Цитата Сообщение от Vampire110 Посмотреть сообщение
для определения глубины дерева
Функцией - вот так:
Pascal
1
2
3
4
5
6
7
8
9
10
function Depth(root : PNode) : Integer;
var L, R : Integer;
begin
   if root = nil then Depth := 0
   else
   begin
      L := Depth(root^.LEFT); R := Depth(root^.RIGHT);
      if L > R then Depth := L + 1 else Depth := R + 1;
   end;
end;
1
17 / 17 / 0
Регистрация: 18.05.2011
Сообщений: 33
04.12.2011, 13:11  [ТС]
UI, а как интегрировать в программу?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.12.2011, 13:11
Помогаю со студенческими работами здесь

Определить функцию для вычисления глубины бинарного дерева
Дано S-выражение, представляющее дерево вида «(РебенокЛевый Родитель РебенокПравый)». Определить функцию для вычисления глубины этого...

Определить функцию для вычисления глубины бинарного дерева
Здравствуйте, помогите пожалуйста с написанием программы на F# (visual studio 2010): Определить функцию для вычисления глубины бинарного...

Определить функцию для вычисления глубины бинарного дерева
Вообщем вот такая задачка: Определить функцию для вычисления глубины бинарного дерева (глубина пустого дерева равна 0, глубина...

Для графа дерева найти длину пути от вершины U до V (использовать поиск в глубину и счётчик глубины рекурсии WG)
помоги, пожалуйста, нужна программа:wall: Для графа дерева найти длину пути от вершины U до V (использовать поиск в глубину и счётчик...

Написать процедуру, которая считает глубину дерева
Вот части кода которые я смог найти. Может это и не то вообще. Заранее спасибо uses SysUtils; Type inform = Integer; PTree...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru