0 / 0 / 2
Регистрация: 22.05.2011
Сообщений: 16
1

Определение уровня дерева

22.05.2011, 11:00. Показов 1707. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Кто знает, подскажите пожааалуйстаа как можно определять уровни дерева? (Корень - считать первым уровнем...) З.Ы. Заранее спасибо...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2011, 11:00
Ответы с готовыми решениями:

Получить узел дерева нулевого уровня
Добрый день!. Ест дерево - на 0 уровне имя ПК, на 1 уровне в соответствующей ветке имя ОРС сервера,...

Проверить монотонность убывания ширины уровня дерева
Задача на бинарное дерево. Катастрофически не успеваю решить... Если кто-нибудь накидает код, буду...

Монотонность убывания ширины уровня бинарного дерева
Собственно, задача в том, чтобы проверить монотонность убывания ширины уровня дерева. Что есть:...

Определение уровня громкости в dB
Всем привет. Помогите реализовать вывод уровня громкости в dB. Источник звука микрофонный вход...

2
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
22.05.2011, 11:12 2
Лучший ответ Сообщение было отмечено K0CTbIJIb как решение

Решение

Какого дерева?

Общий алгоритм такой:

Delphi
1
2
3
4
5
6
7
node := MyNode; // node приравниваем к текущей ветви
n := 0; // А в n потом будет номер уровня
while Node.parent <> nil do
  begin
    Node := Node.Parent;
    Inc(n);
  end;
Если я ничего не напутал...
1
0 / 0 / 2
Регистрация: 22.05.2011
Сообщений: 16
22.05.2011, 16:55  [ТС] 3
Спасибо! А не подскажешь еще: почему оно ругается?:
Delphi
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
procedure TForm1.DrawBranch(x1,y1,x2,y2: integer);
// рисование дуги
begin
  with Canvas do begin
    MoveTo(x1,y1); LineTo(x2,y2);
  end
end;
 
procedure TForm1.DrawTree(t: PNode);
// рисование узла
var
  d: integer;
begin
  d:=diametr div 2;
  if t<>nil then
  with Canvas do begin
    if t.left<>nil then
      DrawBranch(t.xN+d,t.yN+d,t.left.xN+d,t.left.yN+d);
    if t.right<>nil then
      DrawBranch(t.xN+d,t.yN+d,t.right.xN+d,t.right.yN+d);
    DrawTree(t.left);
    DrawTree(t.right);
    Ellipse(t.xN,t.yN,t.xN+diametr,t.yN+diametr);
    Font.Style:=[fsBold];
    S:=IntToStr(t.key);
    TextOut(t.xN+(diametr-TextWidth(S)) div 2,t.yN+(diametr-TextHeight(S)) div 2,S);
  end
end;
Подчеркивает неправильно на DrawBranch и DrawTree .
Пишет: TForm1 does not contain a member naimed DrawBranch. И аналогично для DrawTree...
0
22.05.2011, 16:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2011, 16:55
Помогаю со студенческими работами здесь

Определение уровня Junior C++ developer?
Доброй всем ночи. Как и многие здесь я недавно встал на нелегкий но приятный путь изучения С++,...

Определение уровня атома в списке
Здравствуйте! Необходима помощь в решении задачи.... Написать программу, которая определяет...

Определение уровня вложенности подсписка
Помогите пожалуйста написать функцию для CLISP, на вход которой задаётся список вида ( a b ( c d e...

Определение уровня яркости пикселя ч/б изображения
Как определить яркость пикселя черно-белого изображения? Находил такой код(ниже), но объект Color...

Определение фактов заправок по датчику уровня топлива
Есть сигнал с датчика уровня топлива в баке. Нужно определить все факты заправок. ( выделены...

Подсчитать число вершин на n – ом уровне непустого дерева Т (корень считать вершиной нулевого уровня)
Дана такая задача: &quot;Подсчитать число вершин на n – ом уровне непустого дерева Т (корень считать...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru