А2. Подсчет количества узлов в бинарном дереве

 
 

А3. Подсчет количества листьев бинарного дерева

 
 
function Number(Tree:PNode):integer; begin if Tree = Nil then Number:= 0 {дерево пустое – листов нет} else if(Tree^.left=Nil) and (Tree^.right=Nil) then Number:= 1 {дерево состоит из одного узла - листа} else Number:= Number(Tree^.left) + Number(Tree^.right); {end if} end;


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

Примечание: Просмотр используется не сам по себе, а для обработки элементов дерева, а просмотр сам по себе обеспечивает только некоторый порядок выбора элементов дерева для обработки. В приводимых ниже примерах обработка не определяется; показывается только место, в котором предлагается выполнить обработку текущего


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: