
34. Обход 2-3 дерева.
Node2-3Tree = (S, L, Left, Middle, Right)
Обход: Алгоритм InOrder(R)
1.if (R-лист) then
2.Обрабатываем элементы в узле R
3.else if (R – трехместный) then
4.InOrder(R^.left)
5.Обработать первый элемент
6.InOrder(R^.middle)
7.Обработать второй элемент
8.InOrder(R^.right)
9.Обработать третий элемент
10.InOrder(R^.left)
11.Обработать элемент узла
12.InOrder(R^.right)
13.end if
14.end if
Поиск: Алгоритм Retrieve(R, key, elem)
1.1 if (key R) then
2.elem данные, содержащиеся в узле R
3.return true
4.else
5.if (R – лист) then return false
6.else if (R – трехместный) then
7.if (key < R.S) then
8.return Retrieve(R^.left, key, elem)
9.else if ( key < R.L) then
10.return Retrieve (R^.middle, key, elem)
11.else return Retrieve (R^.right, key, elem)
12.end if
13.end if
14.else
15.if (key < R.S) then
16.return Retrieve(R^.left, key, elem)
17.else return Retrieve (R^.right, key, elem)
18.end if
19.end if
20.end if