Тема: построение оптимального дерева бинарного поиска.
Дерево у меня строится, строится график эффективности алгоритма, а вот с выводом дерева трудности! Может кто-нибудь подскажет, как правильно его реализовать с помощью TTreeView... Помогите, пожалуста, вот текст программы и в архиве сама программа.
tTree = ^tNode; tNode = record data : string[5]; left : tTree; right : tTree; end;
const nabsmax = 999; bd = 1000000; var Form1: TForm1; A : array [1..nabsmax] of string[5]; B : array [0..nabsmax] of string[5]; P : array [1..nabsmax] of integer; Q : array [0..nabsmax] of integer; W,C : array [0..nabsmax,0..nabsmax] of integer; R : array [0..nabsmax,0..nabsmax] of string[5];
implementation
{$R *.dfm}
procedure BuildTree(var root : ttree; y,z : integer); var c : integer; d : string[5]; begin new(root); d := R[y,z]; root^.data := d; root^.left := nil; root^.right := nil; delete(d,1,1); c := StrToInt(d); if y <> z then begin BuildTree(root^.left,y,c-1); BuildTree(root^.right,c,z); end; end;