ВУЗ:
Составители:
Рубрика:
46
1
4
3
2
5 6 7 8 9 10 11 12
представляется в памяти следующим образом: 
1
2 3 4
10 11 12
8 9
5 6 7
Для создания дерева воспользуемся вспомогательной рекурсивной функцией 
CreateRandomTree, которая создает m уровней дерева и на каждом уровне соз-
дает n братьев: 
function CreateRandomTree0(n,m: integer): PTreeNode;   
// n - количество сыновей, m - количество уровней 
var i: integer; 
begin 
  Result:=nil; 
  if m=0 then exit; 
  for i:=1 to n do 
    Result:=NewNode(Random(100), 
                    CreateRandomTree0(n,m-1),Result); 
end; 
Функция CreateRandomTree0 работает  следующим  образом: она создает 
на данном уровне цепочку из 
n братьев и привязывает к каждому из них в качест-
ве левого сына указатель на дерево,  созданное CreateRandomTree0  с количе-
ством уровней на единицу меньше, чем в исходном дереве. 
Чтобы  на  нулевом  уровне  был  только  один  элемент (корень),  создадим  его 
отдельно, привязав к нему в качестве указателя на левого сына структуру
, создан-
ную  вызовом  CreateRandomTree0.  В  результате  получим  функцию 
CreateRandomTree  для  создания  дерева  с  одним  корнем,  сделав  функцию 
CreateRandomTree0 локальной: 
Страницы
- « первая
 - ‹ предыдущая
 - …
 - 42
 - 43
 - 44
 - 45
 - 46
 - …
 - следующая ›
 - последняя »
 
