- add
Add a leaf node Update node counter & rack counter if neccessary
- <init>
- getNode
Given a string representation of a node, return its reference
- chooseRandom
Randomly choose one node under parentNode, considering the exclude nodes and
scope. Should be called
- getNumOfLeaves
Return the total number of nodes
- isOnSameRack
Check if two nodes are on the same rack
- contains
Check if the tree contains node node
- countNumOfAvailableNodes
return the number of leaves in scope but not in excludedNodes if scope starts
with ~, return the num
- getDistance
Return the distance between two nodes It is assumed that the distance from one
node to its parent is
- getNumOfRacks
Return the total number of racks
- remove
Remove a node Update node counter & rack counter if neccessary
- sortByDistance
Sort nodes array by network distance to reader. As an additional twist, we also
randomize the nodes