logo

Co to jest macierz sąsiedztwa?

W tym artykule omówimy macierz sąsiedztwa wraz z jej reprezentacją.

rodzaje testowania oprogramowania

Definicja macierzy sąsiedztwa

W teorii grafów macierz sąsiedztwa jest gęstym sposobem opisu skończonej struktury wykresu. Jest to macierz 2D używana do mapowania powiązań pomiędzy węzłami wykresu.

Jeśli wykres ma N liczba wierzchołków, to macierz sąsiedztwa tego grafu wynosi n x n , a każdy wpis macierzy reprezentuje liczbę krawędzi od jednego wierzchołka do drugiego.

Macierz sąsiedztwa nazywana jest także tzw macierz połączeń . Czasami nazywa się to również a Macierz wierzchołków .

Reprezentacja macierzy sąsiedztwa

Jeśli graf nieskierowany G składa się z n wierzchołków, to macierz sąsiedztwa grafu ma postać n x n macierzy A = [aij] i jest zdefiniowana przez -

Aja= 1 {jeśli istnieje ścieżka z VIdo VJ}

Aja= 0 {W przeciwnym razie}

Przyjrzyjmy się niektórym ważnym punktom w odniesieniu do macierzy sąsiedztwa.

Java podwójnie na ciąg
  • Jeżeli istnieje krawędź pomiędzy wierzchołkiem VIi VJ, gdzie i to wiersz, a j to kolumna, to wartość aja= 1.
  • Jeśli nie ma krawędzi pomiędzy wierzchołkiem VIi VJ, wówczas wartość aja= 0.
  • Jeśli na prostym grafie nie ma pętli własnych, wówczas macierz wierzchołków (lub macierz sąsiedztwa) powinna mieć zera na przekątnej.
  • Macierz sąsiedztwa jest symetryczna dla grafu nieskierowanego. Określa, że ​​wartość w itrząd i jtkolumna jest równa wartości w jtrząd It
  • Jeśli macierz sąsiedztwa zostanie pomnożona przez samą siebie i jeśli w punkcie i występuje wartość różna od zeratrząd i jtkolumnie, to jest trasa z VIdo VJ­­o długości równej 2. Niezerowa wartość w macierzy sąsiedztwa oznacza, że ​​występuje wiele różnych ścieżek.

Uwaga: W macierzy sąsiedztwa 0 oznacza, że ​​nie istnieje powiązanie między dwoma węzłami, natomiast 1 oznacza, że ​​istnieje powiązanie między dwoma węzłami.

Jak utworzyć macierz sąsiedztwa?

Załóżmy, że istnieje wykres G z N liczba wierzchołków, wówczas macierz wierzchołków (lub macierz sąsiedztwa) jest dana wzorem -

A = ajedenaścieA12. . . . . A1nAdwadzieścia jedenA22. . . . . A2n. . . . . . . . . An1An2. . . . . Ann

Gdzie Ajajest równa liczbie krawędzi od wierzchołka i do j. Jak wspomniano powyżej, macierz sąsiedztwa jest symetryczna dla grafu nieskierowanego, zatem w przypadku grafu nieskierowanegoja= zahej.

Gdy wykresy są proste i nie ma wag na krawędziach lub wielokrotnych krawędziach, wówczas wpisy macierzy sąsiedztwa będą wynosić 0 i 1. Jeśli nie ma pętli własnych, wówczas ukośne wpisy macierzy sąsiedztwa będą wynosić 0.

Przyjrzyjmy się teraz macierzy sąsiedztwa dla grafów nieskierowanych i grafów skierowanych.

Macierz sąsiedztwa dla grafu nieskierowanego

W grafie nieskierowanym krawędzie nie są powiązane z kierunkami. W grafie nieskierowanym, jeśli pomiędzy wierzchołkiem A a wierzchołkiem B istnieje krawędź, to wierzchołki można przenieść z A do B oraz z B do A.

Rozważmy poniższy graf nieskierowany i spróbujmy skonstruować jego macierz sąsiedztwa.

Co to jest macierz sąsiedztwa

Na wykresie widzimy, że nie ma pętli własnej, więc ukośne wpisy sąsiedniej macierzy będą wynosić 0. Macierz sąsiedztwa powyższego wykresu będzie miała postać -

Co to jest macierz sąsiedztwa

Macierz sąsiedztwa dla grafu skierowanego

W grafie skierowanym krawędzie tworzą uporządkowaną parę. Krawędzie reprezentują określoną ścieżkę od jakiegoś wierzchołka A do innego wierzchołka B. Węzeł A nazywany jest węzłem początkowym, podczas gdy węzeł B nazywany jest węzłem końcowym.

Rozważmy poniższy graf skierowany i spróbujmy skonstruować jego macierz sąsiedztwa.

Co to jest macierz sąsiedztwa

Na powyższym wykresie widzimy, że nie ma pętli własnej, więc ukośne wpisy sąsiedniej macierzy będą wynosić 0. Macierz sąsiedztwa powyższego wykresu będzie miała postać -

Co to jest macierz sąsiedztwa

Własności macierzy sąsiedztwa

Niektóre właściwości macierzy sąsiedztwa są wymienione w następujący sposób:

  • Macierz sąsiedztwa to macierz zawierająca wiersze i kolumny używane do przedstawienia prostego wykresu oznaczonego etykietami z liczbami 0 i 1 na pozycji (VI, WJ), zgodnie z warunkiem, czy dwa VI ­ i VJsąsiadują.
  • W przypadku grafu skierowanego, jeśli istnieje krawędź pomiędzy wierzchołkiem i lub VIdo wierzchołka j lub VJ, to wartość A[VI][WJ] = 1, w przeciwnym razie wartość będzie wynosić 0.
  • W przypadku grafu nieskierowanego, jeśli istnieje krawędź pomiędzy wierzchołkiem i lub VIdo wierzchołka j lub VJ, to wartość A[VI][WJ] = 1 i A[VJ][WI] = 1, w przeciwnym razie wartość będzie wynosić 0.

Przyjrzyjmy się kilku pytaniom dotyczącym macierzy sąsiedztwa. Poniższe pytania dotyczą grafów ważonych nieskierowanych i skierowanych.

Java uzyskać aktualny czas

UWAGA: Graf nazywa się grafem ważonym, jeżeli każdej krawędzi przypisano liczbę dodatnią, nazywaną wagą krawędzi.

Pytanie 1 - Jaka będzie macierz sąsiedztwa dla poniższego nieukierunkowanego grafu ważonego?

Co to jest macierz sąsiedztwa

Rozwiązanie - W zadanym pytaniu nie ma pętli własnej, więc jasne jest, że ukośne wpisy sąsiedniej macierzy dla powyższego grafu będą wynosić 0. Powyższy wykres jest grafem ważonym nieskierowanym. Wagi na krawędziach wykresu będą reprezentowane jako wpisy macierzy sąsiedztwa.

Macierz sąsiedztwa powyższego wykresu będzie wynosić -

Co to jest macierz sąsiedztwa

Pytanie 2 - Jaka będzie macierz sąsiedztwa dla poniższego ukierunkowanego grafu ważonego?

Co to jest macierz sąsiedztwa

Rozwiązanie - W zadanym pytaniu nie ma pętli własnej, więc jasne jest, że ukośne wpisy sąsiedniej macierzy dla powyższego wykresu będą wynosić 0. Powyższy wykres jest grafem skierowanym ważonym. Wagi na krawędziach wykresu będą reprezentowane jako wpisy macierzy sąsiedztwa.

a b c liczby

Macierz sąsiedztwa powyższego wykresu będzie wynosić -

Co to jest macierz sąsiedztwa

Mam nadzieję, że ten artykuł będzie dla Ciebie przydatny i pomoże Ci zrozumieć macierz sąsiedztwa. Tutaj omówiliśmy macierz sąsiedztwa wraz z jej utworzeniem i właściwościami. Omówiliśmy także tworzenie macierzy sąsiedztwa na grafach skierowanych i nieskierowanych, niezależnie od tego, czy są one ważone, czy nie.