Logo

Programming-Idioms

  • Go
  • Python

Idiom #9 Create a Binary Tree data structure

The structure must be recursive because left child and right child are binary trees too. A node has access to children nodes, but not to its parent.

type BinTree struct {
	Label       valueType
	Left, Right *BinTree
}
type BinTree[L any] struct {
	Label       L
	Left, Right *BinTree[L]
}

The type parameter L is for arbitrary node label data
class Node:
  def __init__(self, data, left_child, right_child):
    self.data = data
    self._left_child = left_child
    self._right_child = right_child
class Node:
	def __init__(self, data):
		self.data = data
		self.left = None
		self.right = None
type Tree_Node;
type Tree_Node_Access is access Tree_Node;
type Tree_Node is record
   Value: Integer;
   Left, Right: Tree_Node_Access;
end record;

New implementation...
< >
programming-idioms.org