cviceni9
Class SearchTreeImpl

java.lang.Object
  extended bycviceni9.SearchTreeImpl
All Implemented Interfaces:
SearchTree

public class SearchTreeImpl
extends java.lang.Object
implements SearchTree

Implementace binárního vyhledávacího stromu.

Author:
M. Beneš, FEI VŠB-TU Ostrava

Constructor Summary
SearchTreeImpl()
          Vytvoří prázdný strom.
SearchTreeImpl(Node root)
          Vytvoří strom se zadaným kořenovým uzlem.
 
Method Summary
 boolean contains(java.lang.Comparable key)
          Vyhledá klíč ve stromu.
 Node getRoot()
          Vrátí kořenový uzel stromu.
 boolean insert(java.lang.Comparable key)
          Vloží klíč do stromu.
 int numNodes()
          Vrátí počet uzlů stromu.
 java.lang.String toString()
          Převede strom na lineární řetězec.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SearchTreeImpl

public SearchTreeImpl()
Vytvoří prázdný strom.


SearchTreeImpl

public SearchTreeImpl(Node root)
Vytvoří strom se zadaným kořenovým uzlem. Předpokládá se, že tento uzel a jeho následníci splňují pravidla pro vyhledávací strom.

Parameters:
root - kořenový uzel stromu
Method Detail

getRoot

public Node getRoot()
Vrátí kořenový uzel stromu.

Specified by:
getRoot in interface SearchTree
Returns:
kořenový uzel stromu

numNodes

public int numNodes()
Vrátí počet uzlů stromu. Pro výpočet volá rekurzivní funkci téhož názvu.

Specified by:
numNodes in interface SearchTree
Returns:
počet uzlů

contains

public boolean contains(java.lang.Comparable key)
Vyhledá klíč ve stromu. Pro výpočet volá rekurzivní funkci téhož názvu.

Specified by:
contains in interface SearchTree
Parameters:
key - hledaný klíč
Returns:
Vrátí true, pokud se klíč najde, jinak vrátí false.

insert

public boolean insert(java.lang.Comparable key)
Vloží klíč do stromu. Pokud již strom tento klíč obsahuje, neprovede se nic.

Specified by:
insert in interface SearchTree
Parameters:
key - vkládaný klíč
Returns:
Vrátí true, pokud byl klíč do stromu skutečně vložen, jinak vrátí false (tj. klíč už byl ve stromu nalezen).

toString

public java.lang.String toString()
Převede strom na lineární řetězec.

Returns:
řetězec s obsahem stromu