Sobes.tech
Junior

Czym jest graf skierowany i jakie są jego główne cechy?

sobes.tech AI

Odpowiedź od AI

Skierowany graf (lub digraf) to struktura danych składająca się z zbioru wierzchołków (węzłów) i zbioru skierowanych krawędzi (łuków), które łączą te wierzchołki. Każda krawędź ma kierunek wskazujący, który wierzchołek jest początkowy, a który końcowy.

Główne cechy:

  • Wierzchołki (Nodes / Vertices): Elementy grafu reprezentowane przez punkty. Mogą oznaczać obiekty, stany lub etapy.
  • Krawędzie (Edges / Arcs): Połączenia między wierzchołkami. W grafie skierowanym krawędź ma kierunek wskazujący przejście z jednego wierzchołka do drugiego. Są oznaczane jako uporządkowana para (u, v), gdzie u to wierzchołek początkowy, a v to końcowy.
  • Kierunek: Kluczowa cecha odróżniająca graf skierowany od nieskierowanego. Przemieszczanie się jest możliwe tylko wzdłuż kierunku krawędzi. Krawędź z A do B nie oznacza możliwości przemieszczania się z B do A, chyba że istnieje osobna krawędź z B do A.
  • Pętle (Loops): Krawędzie łączące wierzchołek z samym sobą (v, v).
  • Wielokrotne krawędzie (Multiple Edges): Kilka krawędzi łączących tę samą parę wierzchołków w tym samym kierunku. W prostych grafach skierowanych wielokrotne krawędzie nie są dozwolone.
  • Izolowane wierzchołki: Wierzchołki bez krawędzi wejściowych i wyjściowych.
  • Stopień wierzchołka:
    • Stopień wejściowy (In-degree): Liczba krawędzi wchodzących do wierzchołka.
    • Stopień wyjściowy (Out-degree): Liczba krawędzi wychodzących z wierzchołka.

Zastosowania w QA:

  • Grafy stanów do testowania automatów skończonych.
  • Grafy przepływu sterowania do analizy kodu i tworzenia przypadków testowych.
  • Modelowanie zależności w systemach (np. zależności między usługami lub modułami).
  • Testowanie scenariuszy użytkowania z ściśle określonymi sekwencjami działań.