| 
 |   | 


| 
 
 | 
 | 

| 
 
 |  | 
add() and remove() manipulation operations.
    size(), empty(), find(),
        …
    | 
 
 |  | 
| 
 
 | 
class BinaryTree<E> {
  private class Node {
    E value;
    Node left, right;
    }
  }
private class Node {
  E value;
  Node children[N];
  }
add(), remove() and member(). 
    
bool member(T e, node root) if root = nil, return false if root.data = e, return true if member(e, root.left), return true return member(e, root.right)

node add(T e, node root) return new node(e, nil, root)


n.
n.parent.left = null;
n could be the root. 
    

node remove(node root)
  if root.left ≠ nil
    root.data = root.left.data
    root.left = delete(root.left)
  or root.right ≠ nil
    root.data = root.right.data
    root.right = delete(root.right)
  or
    root = nil
  return root


pre-order-traversal(node root)
  if root ≠ nil
    process(root)
    pre-order-traversal(root.left)
    pre-order-traversal(root.right)
in-order-traversal(node root)
  if root ≠ nil
    in-order-traversal(root.left)
    process(root)
    in-order-traversal(root.right)
prost-order-traversal(node root)
  if root ≠ nil
    post-order-traversal(root.left)
    post-order-traversal(root.right)
    process(root)
| This page last modified on 2010 March 25. |