|
datastructures | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.datastructures.LinkedBinaryTree
net.datastructures.BinarySearchTree
net.datastructures.RBTree
Realization of a dictionary by means of a red-black tree.
Nested Class Summary | |
protected static class |
RBTree.RBNode
Nested class for the nodes of a red-black tree |
Nested classes inherited from class net.datastructures.BinarySearchTree |
BinarySearchTree.BSTEntry |
Field Summary |
Fields inherited from class net.datastructures.BinarySearchTree |
actionPos, C, numEntries |
Fields inherited from class net.datastructures.LinkedBinaryTree |
root, size |
Constructor Summary | |
RBTree()
|
|
RBTree(Comparator C)
|
Method Summary | |
protected BTPosition |
createNode(Object element,
BTPosition parent,
BTPosition left,
BTPosition right)
Creates a new tree node. |
protected boolean |
hasRedChild(Position position)
Returns whether a node has a red child. |
Entry |
insert(Object k,
Object x)
Inserts an item into the dictionary and returns the newly created entry. |
protected boolean |
isPosRed(Position position)
Returns whether a node is red. |
protected Position |
redChild(Position position)
Returns a red child of a node. |
protected void |
remedyDoubleBlack(Position posR)
Remedies a double black violation at a given node caused by removal. |
protected void |
remedyDoubleRed(Position posZ)
Remedies a double red violation at a given node caused by insertion. |
Entry |
remove(Entry ent)
Removes and returns the given entry from the dictionary. |
protected void |
setBlack(Position position)
Colors a node black. |
protected void |
setColor(Position position,
boolean color)
Sets the color of a node. |
protected void |
setRed(Position position)
Colors a node red. |
protected void |
swap(Position swapPos,
Position remPos)
Swaps the colors and elements at the two nodes. |
protected boolean |
swapColor(Position a,
Position b)
Swaps the colors of a and b if they are different and returns whether a was red. |
Methods inherited from class net.datastructures.BinarySearchTree |
addAll, checkEntry, checkKey, entries, entry, find, findAll, insertAtExternal, isEmpty, key, removeExternal, replaceEntry, restructure, size, treeSearch, value |
Methods inherited from class net.datastructures.LinkedBinaryTree |
addRoot, attach, checkPosition, children, elements, expandExternal, hasLeft, hasRight, inorderPositions, insertLeft, insertRight, isExternal, isInternal, isRoot, left, parent, positions, remove, removeAboveExternal, replace, right, root, sibling, swapElements |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface net.datastructures.Dictionary |
entries, find, findAll, isEmpty, size |
Constructor Detail |
public RBTree()
public RBTree(Comparator C)
Method Detail |
protected BTPosition createNode(Object element, BTPosition parent, BTPosition left, BTPosition right)
createNode
in class LinkedBinaryTree
public Entry insert(Object k, Object x) throws InvalidKeyException
insert
in interface Dictionary
insert
in class BinarySearchTree
InvalidKeyException
protected void remedyDoubleRed(Position posZ)
public Entry remove(Entry ent) throws InvalidEntryException
remove
in interface Dictionary
remove
in class BinarySearchTree
InvalidEntryException
protected void remedyDoubleBlack(Position posR)
protected boolean isPosRed(Position position)
protected void setRed(Position position)
protected void setBlack(Position position)
protected void setColor(Position position, boolean color)
color
- true to color the node red, false
to color the node blackprotected Position redChild(Position position)
protected boolean hasRedChild(Position position)
protected boolean swapColor(Position a, Position b)
protected void swap(Position swapPos, Position remPos)
|
datastructures | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |