searchable.searchableinterface

## Interface Searchable

- All Known Subinterfaces:
    SearchableWithMedian

      public interface Searchable

  Specifikace vyhledávací struktury.

  Užití: použijte jako typ proměnné v aplikaci, v knihovně implementujte třídou.

- - ### Method Summary

    All Methods Instance Methods Abstract 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.

- - ### Method Detail

    - #### isEmpty

          boolean isEmpty()

      Zjistí, zda je vyhledávací struktura prázdná.
      Returns:
        true když vyhledávací struktura je prázdná, jinak false.

    - #### isFull

          boolean isFull()

      Zjistí, zda je vyhledávací struktura plná.
      Returns:
        true když vyhledávací struktura je plná, jinak false.

    - #### insert

          void insert(SearchableElement elem)

      Vloží prvek do vyhledávací struktury.

      Vyžaduje: not isFull

      Parameters:
        `elem` - prvek, který se má vložit

    - #### update

          SearchableElement update(SearchableElement elem)

      Najde a upraví nebo nenajde a vloží prvek vyhledávací struktury.
      Parameters:
        `elem` - prvek, který se má upravit nebo vložit
      Returns:
        odstraněný původní prvek nebo null

    - #### select

          SearchableElement select(SearchableElement key)

      Najde prvek vyhledávací struktury podle klíče.
      Parameters:
        `key` - klíč
      Returns:
        nalezený prvek nebo null

    - #### remove

          SearchableElement remove(SearchableElement key)

      Najde a odstraní prvek z vyhledávací struktury.

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

      Parameters:
        `key` - klíč prvku, který se má odstranit
      Returns:
        odstraněný prvek nebo null

    - #### getCount

          int getCount()

      Zjistí počet prvků ve vyhledávací struktuře.
      Returns:
        počet prvků vyhledávací struktury

    - #### getOperationCounter

          int getOperationCounter()

      Provozní měření. Zjistí počet elementárních operací přesunu běžného prvku během poslední operace select.
      Returns:
        počet významných elementárních operací

    - #### getSortCounter

          int getSortCounter()

      Provozní měření. Zjistí počet elementárních operací vyjmutí, vložení nebo záměny prvku během poslední operace sort.
      Returns:
        počet významných elementárních operací

    - #### getReadable

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

      Naplní kolekci řetězců čitelným obsahem vyhledávací struktury.
      Parameters:
        `aStrings` - kolekce řetězců, která se má naplnit čitelným obsahem