ALG$8
RozdziałłO. Elementy algorytmiki gratów
10.2.Sposoby reprezentacji grafów
Poznane uprzednio struktury danych, takie jak tablice, listy i drzewa dobrze nadają się do reprezentowania grafów. Dwie reprezentacje można uznać jednak za dominujące: przy pomocy tablicy dwuwymiarowej i tzw. słownika węzłów.
Graf może być reprezentowany przy użyciu tablicy dwuwymiarowej, jeśli umów imy się, że wiersze będą oznaczały węzły początkowe krawędzi grafu, a kolumny ich ;we^lv/^z\!Źficwe~.Rr7ż'/?Jr.vsij,OTrtc«i'rvng?f.,T«Tł'ifsWiliW’u1Pu--,."tnu-że być przedstawiony w postaci tablicy z rysunku 10 - 4.
Jedynka na pozycji (x, y) oznacza, że pomiędzy węzłami x i y istnieje krawędź skierowana w stronę y. W każdym innym przypadku tablica będzie zawierała na przykład zero.
Zauważmy, że reprezentacja tablicowa ma jedną istotną zaletą: jest bardzo prosta do implementacji programowej w dowolnym w zasadzie języku programowania, a ponadto korzystanie z niej nie jest trudne. Wada: jedynie grafy o ustalonej z góry liczbie węzłów mogą być łatwo reprezentowane w postaci tablic.
Aby przedstawić graf o liczbie węzłów, która może ulegać zmianie w trakcie wykonywania się programu, należy użyć np. reprezentacji przy pomocy słownika węzłów.
Słownik węzłów może dotyczyć dwóch typów' węzłów: następników (węzłów odchodzących) lub poprzedników (węzłów dochodzących) od danego węzła. Idea jest przedstaw iona na rysunku 10-5.
Słownik jest zwykłą tablicą wskaźników do list węzłów, odpowiednio odchodzących (a) lub dochodzących (b) do danego węzła przy pomocy krawędzi. Niektóre algorytmy dotyczące grafów potrzebują właśnie tego typu informacji, stąd celowość dysponowania taką reprezentacją. Biorąc pod uwagę, że słownik węzłów'jest łatwo implcmcntowalny w postaci listy list, znika nam automatycznie problem napotkany przy reprezentacji tablicowej — ilość węzłów grafu może być w zasadzie nieograniczona.
Wyszukiwarka
Podobne podstrony:
ALG 0 250 RozdziaMO. Elementy algorytmiki gratów ( z-O; while(l) // pętla nieskończona I if(z==n)ALG 4 254 RozdziaMO. Elementy algorylmiki jiafa if<R[y][z)==0 &&ALG&2 262 RozdziaMO, Elementy algorylmiki grafów Dlaczego jest on rozwiązywany przy pomocy grafów? CALG&6 266 RozdziaHO. Elementy algorytmiki grafów • Promotor 4 porzuca swój aktualnALG$6 246 Rozdział 10. Elementy algorytmiki gratów Ta historyczna anegdota stanowi jednocześnie doskALG&4 264 Rozdział 10. Elementy algorytmiki gratów Używając danych z rysunku 10 - 14, algorytm mógłbALG$9 10.2. Sposoby reprezentacji grafów 249 10.2. Sposoby reprezentacji grafów 249 Rys. 10- 5. a)ALG 6 256 Rozdział 10. Elementy algorytmiki grali! Brak możliwości odtworzenia optymalnej drogi jestALG 8 258 Rozdział 10. Elementy algorytmiki grafa 1 Rys. 10- 10. Przeszukiwanie grafu „ w głąb ListuALG&0 260 Rozdział 10. Elementy algorytmiki grafów przebadane podczas przeszukiwania. Dopiero potemALG3 Przedmowa 13Rozdział 10 Elementy algorytmiki grafów Opis jednej z najciekawszych struktur danyALG3 Rozdział 3Analiza sprawności algorytmów Podstawowe kryteria pozwalające na wybór właściwego alALG5 Rozdział 6Derekursywacja Podjęcie tematu przekształcania algorytmów rekurencyjnych na ich postALG6 Rozdział 7. Algorytmy przeszukiwania r > dzielenie modulo RmM: H(v) = v% Rmax Przykład: DlaALG 0 200 Rozdział 7. Algorytmy przeszukiwania Rekordy E i F zostały zapamiętane w momencie stwierdzALG 2 202 Rozdział 7. Algorytmy przeszukiwani! gdzie a jest współczynnikiem zapełnienia tablicy T. AALG 4 204 Rozdział 7. Algorytmy przeszukiwania i (gdzie a jest, tak jak poprzednio, współczynnikiemALG 8 8.‘ 208 Rozdział 8. Przeszukiwanie tekstów Rys. H - 1. Algorytm typuALG!6 216 Rozdział 8. Przeszukiwanie tekslói8.2.2.Algorytm Boyera i Moore’a Kolejny algorytm, którywięcej podobnych podstron