graph.graphinterface

## Interface Graph

- All Known Subinterfaces:
    DirectedGraph, UndirectedGraph
  All Known Implementing Classes:
    AdjacencyArrayDirectedGraph, AdjacencyArrayGraph, AdjacencyArrayUndirectedGraph, FollowerArrayDirectedGraph, FollowerArrayGraph, FollowerArrayUndirectedGraph

      public interface Graph

  Specifikace grafu.

  Popis: interface grafu

  Užití: Implementujte třídou.

  Poznámka: Rozdíl mezi orientovaným a neorientovaným grafem je věcí implementace.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addEdge(GraphVertex aStart, GraphVertex aTarget, GraphEdge anEdge)` Přidá hranu do grafu.
    `void` | `addVertex(GraphVertex aVertex)` Přídá vrchol do grafu.
    `GraphEdge` | `getEdge()` Vrátí běžnou hranu nebo null.
    `int` | `getEdgeCount()` Zjistí, kolik hran má běžný vrchol.
    `int` | `getTotalEdgeCount()` Zjistí, kolik kolik hran má celý graf.
    `GraphVertex` | `getVertex()` Vrátí běžný vrchol nebo null.
    `GraphVertex` | `getVertex(GraphLatch aLatch)` Vrátí vrchol zachycený v aLatch.
    `int` | `getVertexCount()` Zjistí, kolik vrcholů má graf.
    `boolean` | `isLastEdge()` Zjistí, zda je běžná hrana poslední.
    `boolean` | `isLastVertex()` Zjistí, zda je běžný vrchol poslední.
    `boolean` | `isValidEdge()` K řízení cyklu: zjistí, zda poslední operace moveFirstEdge nebo moveNextEdge byla úspěšná.
    `boolean` | `isValidVertex()` K řízení cyklu: zjistí, zda poslední operace moveFirstVertex nebo moveNextVertex byla úspěšná.
    `GraphLatch` | `latch()` Zachytí běžný stav procházení grafu.
    `GraphEdge` | `moveFirstEdge()` Učiní první hranu vrcholu běžnou.
    `GraphVertex` | `moveFirstVertex()` Učiní první vrchol běžným.
    `GraphEdge` | `moveNextEdge()` Učiní další hranu běžnou.
    `GraphVertex` | `moveNextVertex()` Učiní další vrchol běžným.
    `void` | `restore(GraphLatch graphState)` Obnoví běžný stav procházení grafu.
    `void` | `select(GraphVertex aTarget)` Nastaví běžný stav procházení grafu na první hranu vrcholu aTarget.
    `void` | `setEdge(GraphEdge value)` Nastaví hodnotu běžné hrany.
    `void` | `setVertex(GraphVertex value)` Nastaví hodnotu běžného vrcholu.
    `void` | `traverse()` Přejde po běžné hraně z výchozího do cílového vrcholu.

- - ### Method Detail

    - #### addVertex

          void addVertex(GraphVertex aVertex)

      Přídá vrchol do grafu.
      Parameters:
        `aVertex` - vrchol, který má být přidán

    - #### addEdge

          void addEdge(GraphVertex aStart,
                       GraphVertex aTarget,
                       GraphEdge anEdge)

      Přidá hranu do grafu.
      Parameters:
        `aStart` - výchzí vrchol hrany
        `aTarget` - cílový vrchol hrany
        `anEdge` - hrana, která má být přidána

    - #### getVertexCount

          int getVertexCount()

      Zjistí, kolik vrcholů má graf.
      Returns:
        počet vrcholů grafu

    - #### getEdgeCount

          int getEdgeCount()

      Zjistí, kolik hran má běžný vrchol.
      Returns:
        počet hran incidujících s běžným vrcholem

    - #### getTotalEdgeCount

          int getTotalEdgeCount()

      Zjistí, kolik kolik hran má celý graf.
      Returns:
        počet hran grafu

    - #### moveFirstVertex

          GraphVertex moveFirstVertex()

      Učiní první vrchol běžným. Je-li posloupnost vrcholů prázdná, následující isValidVertex () vrátí hodnotu false.
      Returns:
        první vrchol grafu nebo null

    - #### moveFirstEdge

          GraphEdge moveFirstEdge()

      Učiní první hranu vrcholu běžnou. Je-li posloupnost hran prázdná, následující isValidEdge () vrátí hodnotu false.
      Returns:
        první hrana vycházející z vrcholu nebo null

    - #### moveNextVertex

          GraphVertex moveNextVertex()

      Učiní další vrchol běžným. Je-li posloupnost vrchlů prázdná, následující isValidVertex () vrátí hodnotu false.
      Returns:
        běžný vrchol nebo null

    - #### moveNextEdge

          GraphEdge moveNextEdge()

      Učiní další hranu běžnou. Je-li posloupnost hran prázdná, následující isValidEdge () vrátí hodnotu false.
      Returns:
        běžná hrana nebo null

    - #### isLastVertex

          boolean isLastVertex()

      Zjistí, zda je běžný vrchol poslední.
      Returns:
        true když je poslední, jinak false

    - #### isLastEdge

          boolean isLastEdge()

      Zjistí, zda je běžná hrana poslední.
      Returns:
        true když je poslední, jinak false

    - #### isValidVertex

          boolean isValidVertex()

      K řízení cyklu: zjistí, zda poslední operace moveFirstVertex nebo moveNextVertex byla úspěšná.
      Returns:
        true když byla úspěšná, jinak false

    - #### isValidEdge

          boolean isValidEdge()

      K řízení cyklu: zjistí, zda poslední operace moveFirstEdge nebo moveNextEdge byla úspěšná.
      Returns:
        true když byla úspěšná, jinak false

    - #### traverse

          void traverse()

      Přejde po běžné hraně z výchozího do cílového vrcholu. Cílový vrchol se stane vrcholem běžným.

    - #### getVertex

          GraphVertex getVertex()

      Vrátí běžný vrchol nebo null.
      Returns:
        běžný vrchol nebo null

    - #### getVertex

          GraphVertex getVertex(GraphLatch aLatch)

      Vrátí vrchol zachycený v aLatch.
      Parameters:
        `aLatch` - zachycený stav procházení grafu
      Returns:
        zachycený vrchol

    - #### getEdge

          GraphEdge getEdge()

      Vrátí běžnou hranu nebo null.
      Returns:
        běžnou hranu nebo null

    - #### setVertex

          void setVertex(GraphVertex value)

      Nastaví hodnotu běžného vrcholu.
      Parameters:
        `value` - hodnota vrcholu

    - #### setEdge

          void setEdge(GraphEdge value)

      Nastaví hodnotu běžné hrany.
      Parameters:
        `value` - hodnota hrany

    - #### latch

          GraphLatch latch()

      Zachytí běžný stav procházení grafu.
      Returns:
        zachycený stav procházení grafu

    - #### restore

          void restore(GraphLatch graphState)

      Obnoví běžný stav procházení grafu.
      Parameters:
        `graphState` - stav procházení, který má být obnoven

    - #### select

          void select(GraphVertex aTarget)

      Nastaví běžný stav procházení grafu na první hranu vrcholu aTarget.
      Parameters:
        `aTarget` - vrchol, který má být běžný