class LinkedBinaryTree(BinaryTree):
Known subclasses: dsap.searchtree.binary_search_tree.TreeMap
, dsap.trees.expression_tree.ExpressionTree
Linked representation of a binary tree structure.
Class |
|
An abstraction representing the location of a single element. |
Method | __init__ |
Create an initially empty binary tree. |
Method | __len__ |
Return the total number of elements in the tree. |
Method | left |
Return the Position of p's left child (or None if no left child). |
Method | num |
Return the number of children of Position p. |
Method | parent |
Return the Position of p's parent (or None if p is root). |
Method | right |
Return the Position of p's right child (or None if no right child). |
Method | root |
Return the root Position of the tree (or None if tree is empty). |
Class | _ |
Lightweight, nonpublic class for storing a node. |
Method | _add |
Create a new left child for Position p, storing element e. |
Method | _add |
Create a new right child for Position p, storing element e. |
Method | _add |
Place element e at the root of an empty tree and return new Position. |
Method | _attach |
Attach trees t1 and t2, respectively, as the left and right subtrees of the external Position p. |
Method | _delete |
Delete the node at Position p, and replace it with its child, if any. |
Method | _make |
Return Position instance for given node (or None if no node). |
Method | _replace |
Replace the element at position p with e, and return old element. |
Method | _validate |
Return associated node, if position is valid. |
Instance Variable | _root |
Undocumented |
Instance Variable | _size |
Undocumented |
Inherited from BinaryTree
:
Method | children |
Generate an iteration of Positions representing p's children. |
Method | inorder |
Generate an inorder iteration of positions in the tree. |
Method | positions |
Generate an iteration of the tree's positions. |
Method | sibling |
Return a Position representing p's sibling (or None if no sibling). |
Method | _subtree |
Generate an inorder iteration of positions in subtree rooted at p. |
Inherited from Tree
(via BinaryTree
):
Method | __iter__ |
Generate an iteration of the tree's elements. |
Method | breadthfirst |
Generate a breadth-first iteration of the positions of the tree. |
Method | depth |
Return the number of levels separating Position p from the root. |
Method | height |
Return the height of the subtree rooted at Position p. |
Method | is |
Return True if the tree is empty. |
Method | is |
Return True if Position p does not have any children. |
Method | is |
Return True if Position p represents the root of the tree. |
Method | postorder |
Generate a postorder iteration of positions in the tree. |
Method | preorder |
Generate a preorder iteration of positions in the tree. |
Method | _height |
Return the height of the tree. |
Method | _height |
Return the height of the subtree rooted at Position p. |
Method | _subtree |
Generate a postorder iteration of positions in subtree rooted at p. |
Method | _subtree |
Generate a preorder iteration of positions in subtree rooted at p. |
dsap.trees.binary_tree.BinaryTree.left
Return the Position of p's left child (or None if no left child).
dsap.trees.binary_tree.BinaryTree.right
Return the Position of p's right child (or None if no right child).
dsap.trees.tree.Tree.root
Return the root Position of the tree (or None if tree is empty).
Create a new left child for Position p, storing element e.
Return the Position of new node. Raise ValueError if Position p is invalid or p already has a left child.
Create a new right child for Position p, storing element e.
Return the Position of new node. Raise ValueError if Position p is invalid or p already has a right child.
Place element e at the root of an empty tree and return new Position.
Raise ValueError if tree nonempty.
Attach trees t1 and t2, respectively, as the left and right subtrees of the external Position p.
As a side effect, set t1 and t2 to empty. Raise TypeError if trees t1 and t2 do not match type of this tree. Raise ValueError if Position p is invalid or not external.