searchable.binarysearchtree

## Class BinarySearchTree

- java.lang.Object
- - searchable.binarysearchtree.BinarySearchTree

- All Implemented Interfaces:
    Searchable

      class BinarySearchTree
      extends java.lang.Object
      implements Searchable

  Implementace vyhledávacího stromu.

  Užití: ve svém programu deklarujte proměnné typu BinarySearchTree.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private BinaryTree` | `tree` úložiště binárního stromu

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BinarySearchTree(BinaryTree aTree)` Vyrobí binární vyhledávací strom.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getCount()` Zjistí počet prvků ve vyhledávací struktuře.
    `int` | `getOperationCounter()` Provozní měření.
    `void` | `getReadable(java.util.List<java.lang.String> aStrings)` Naplní kolekci řetězců čitelným obsahem vyhledávací struktury.
    `int` | `getSortCounter()` Provozní měření.
    `void` | `insert(SearchableElement elem)` Vloží prvek do vyhledávací struktury.
    `boolean` | `isEmpty()` Zjistí, zda je vyhledávací struktura prázdná.
    `boolean` | `isFull()` Zjistí, zda je vyhledávací struktura plná.
    `SearchableElement` | `remove(SearchableElement key)` Najde a odstraní prvek z vyhledávací struktury.
    `SearchableElement` | `select(SearchableElement key)` Najde prvek vyhledávací struktury podle klíče.
    `SearchableElement` | `update(SearchableElement elem)` Najde a upraví nebo nenajde a vloží prvek vyhledávací struktury.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### tree

          private BinaryTree tree

      úložiště binárního stromu

  - ### Constructor Detail

    - #### BinarySearchTree

          public BinarySearchTree(BinaryTree aTree)

      Vyrobí binární vyhledávací strom.
      Parameters:
        `aTree` - binární strom, který bude obsahovat prvky.

  - ### Method Detail

    - #### isEmpty

          public boolean isEmpty()

      Description copied from interface: `Searchable`
      Zjistí, zda je vyhledávací struktura prázdná.
      Specified by:
        `isEmpty` in interface `Searchable`
      Returns:
        true když vyhledávací struktura je prázdná, jinak false.

    - #### isFull

          public boolean isFull()

      Description copied from interface: `Searchable`
      Zjistí, zda je vyhledávací struktura plná.
      Specified by:
        `isFull` in interface `Searchable`
      Returns:
        true když vyhledávací struktura je plná, jinak false.

    - #### select

          public SearchableElement select(SearchableElement key)

      Description copied from interface: `Searchable`
      Najde prvek vyhledávací struktury podle klíče.
      Specified by:
        `select` in interface `Searchable`
      Parameters:
        `key` - klíč
      Returns:
        nalezený prvek nebo null

    - #### update

          public SearchableElement update(SearchableElement elem)

      Description copied from interface: `Searchable`
      Najde a upraví nebo nenajde a vloží prvek vyhledávací struktury.
      Specified by:
        `update` in interface `Searchable`
      Parameters:
        `elem` - prvek, který se má upravit nebo vložit
      Returns:
        odstraněný původní prvek nebo null

    - #### insert

          public void insert(SearchableElement elem)

      Description copied from interface: `Searchable`
      Vloží prvek do vyhledávací struktury.

      Vyžaduje: not isFull

      Specified by:
        `insert` in interface `Searchable`
      Parameters:
        `elem` - prvek, který se má vložit

    - #### remove

          public SearchableElement remove(SearchableElement key)

      Description copied from interface: `Searchable`
      Najde a odstraní prvek z vyhledávací struktury.

      Popis: najde prvek podle klíče key a odstraní jej z vyhledávací struktury.

      Specified by:
        `remove` in interface `Searchable`
      Parameters:
        `key` - klíč prvku, který se má odstranit
      Returns:
        odstraněný prvek nebo null

    - #### getCount

          public int getCount()

      Description copied from interface: `Searchable`
      Zjistí počet prvků ve vyhledávací struktuře.
      Specified by:
        `getCount` in interface `Searchable`
      Returns:
        počet prvků vyhledávací struktury

    - #### getSortCounter

          public int getSortCounter()

      Description copied from interface: `Searchable`
      Provozní měření. Zjistí počet elementárních operací vyjmutí, vložení nebo záměny prvku během poslední operace sort.
      Specified by:
        `getSortCounter` in interface `Searchable`
      Returns:
        počet významných elementárních operací

    - #### getReadable

          public void getReadable(java.util.List<java.lang.String> aStrings)

      Description copied from interface: `Searchable`
      Naplní kolekci řetězců čitelným obsahem vyhledávací struktury.
      Specified by:
        `getReadable` in interface `Searchable`
      Parameters:
        `aStrings` - kolekce řetězců, která se má naplnit čitelným obsahem

    - #### getOperationCounter

          public int getOperationCounter()

      Description copied from interface: `Searchable`
      Provozní měření. Zjistí počet elementárních operací přesunu běžného prvku během poslední operace select.
      Specified by:
        `getOperationCounter` in interface `Searchable`
      Returns:
        počet významných elementárních operací