dsa.tree module — ucxdsa documentation

# dsa.tree module

Module containing tree class.

class dsa.tree.Tree(root=None)

  Bases: `object`

  A binary search tree (BST) implementation. Can be treated as a plain binary tree if operations (insert, search, delete) are not used and nodes are set manually.

  delete(value)

    Delete a value from the binary search tree.

    Parameters:

      value – The value to delete.

    Returns:

      The root of the tree after insertion.

    Raises:

      ValueError – if value is not found.

  delete_iterative(root, value)

    Delete a value from the binary search tree (iterative version).

    Parameters:

      value – The value to delete.

    Returns:

      The root of the tree after insertion.

    Raises:

      ValueError – if value is not found.

  delete_node(node, value)

    Helper function to delete a value from the binary search tree. (Use delete() instead)

    Parameters:

      - value – The value to delete.

      - node – The current node.

    Returns:

      The new subtree root after deletion.

    Raises:

      ValueError – if value is not found.

  insert(value)

    Insert a value in the binary search tree.

    Parameters:

      value – The value to insert.

    Returns:

      The root of the tree after deletion.

    Raises:

      ValueError – if value is already in the tree

  insert_iterative(value)

    Insert a value in the binary search tree (iterative implementation).

    Parameters:

      value – The value to insert.

    Returns:

      None

    Raises:

      ValueError – if value is already in the tree

  insert_rec(root, value)
  predecessor_node(node=None)

    Return the predecessor node (the maximum value in a binary search tree’s left subtree).

    Parameters:

      node – The starting node.

    Returns:

      node with the lowest value in the BST None if not found

    Raises:

      ValueError – if value is not found.

  print()

    Print the values in the BST.

  search(value)

    Search for a value in the binary search tree.

    Parameters:

      value – Value to search for.

    Returns:

      node with matching value

    Raises:

      ValueError – if value is not found

  successor_node(node=None)

    Return the successor node (the minimum value in a binary search tree’s right subtree).

    Parameters:

      node – The starting node.

    Returns:

      node with the lowest value in the BST None if not found

    Raises:

      ValueError – if value is not found.

class dsa.tree.TreeNode(value, left=None, right=None)

  Bases: `object`

  A binary tree node implementation.

  copy()

    Return a copy of the node.

  print(level=0)

    Print the contents of a node.

    Parameters:

      level – starting level of node