Тема практической работы: «Обработка бинарных деревьев».
Постановка задачи: вычислить сумму ключей заданного бинарного дерева.
Ход выполнения:
-
скопировать на компьютер папку CH6 \\Ecdc1\студентам\1КУРС\VB-2011\2-cеместр\Дневники\Методика\CH6;
-
запустить проект TreeSort, освоить работу с проектом;
-
обратить внимание на то, что структура дерева задана в классе SortNode и параметры звена дерева следующие:
Public LeftChild As SortNode
Public RightChild As SortNode
Public Value As Integer
глобальная переменная Root содержит указатель на корень дерева;
-
добавить командную кнопку Сумма, а также компонент Label для отображения результата вычислений, связать с добавленной кнопкой обработчик событий:
Private Sub Command1_Click() ‘ вычисление суммы узлов бинарного дерева
Dim s As Integer
Dim t As SortNode
Set t = Root ‘ получение указателя на корень бинарного дерева
s = 0
Obhod t, s ‘ вызов процедуры обхода дерева
Label2.Caption = " S = " + Str(s) ‘отображение результата
End Sub
-
учесть, что процедура Obhod должна быть размещена в редакторе кода формы перед обработчиком события Command1_Click
Private Sub Obhod(t As SortNode, s As Integer) ‘ обход бинарного дерева
Dim tl As SortNode ‘ указатель на левое поддерево
Dim tr As SortNode ‘ указатель на правое поддерево
If Not (t Is Nothing) Then
s = s + t.Value
Set tl = t.LeftChild
Set tr = t.RightChild
Obhod tl, s
Obhod tr, s
End If
End Sub