Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal] Проверка дерева на бинарность


Автор: Ангел 21.6.2007, 19:05
Проверить дерево бинарного поиска является ли оно бинарным.

Автор: Silent 22.6.2007, 10:22
Я понял постановку задачи так: дано бинарное дерево, проверить, является ли оно бинарным деревом поиска
Код

type TTree=^PTree;
        PTree=record
          Left,
          Rigth:TTree;
          Data:integer;
        end;
function IsBinary(root:TTree):boolean;
  var f:boolean;
  begin
    if root=nil then IsBinary:=true
    else begin
      f:=true;
      if (root^.Left<>nil) then f:=f and (root^.Data>root^.Left^.Data);
      if (f)and(root^.Rigth<>nil) then f:=f and(root^.Data<root^.Rigth^.Data);
      IsBinary:=(f)and(IsBinary(root^.Left))and(IsBinary(root^.Rigth));
    end;
  end;

Автор: Ангел 22.6.2007, 16:45
Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)