• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zapisywanie rozwidleń w grafie.

42 Warsaw Coding Academy
0 głosów
506 wizyt
pytanie zadane 29 października 2022 w Algorytmy przez Latarnik Użytkownik (650 p.)

Dzień dobry, chciałbym się zapytać o zapisywanie w grafie rozwidleń. Jak na rozpisce na zdjęciu poniżej  chciałbym wyszukiwać jakie rozwidlenia były przed jakimś punktem w stosunku do punktu pierwszego czyli jak  w rozpisce dla "D" i "E" punktu jest tylko rozwidlenie "C" a dla punktów za punktem E są rozwidlenia C i E jak widać w tabeli i moje pytanie jest jak najszybciej taką tabelę zrobić aby za każdy razem jak się pytamy o dwa punkty np. D i  E  to może przejść się po rozwidleniach tego punktu i zobaczyć że jedynym i ostatnim zapisanym punktem wspólnym(rozwidleniem) jest C natomiast dla I oraz J było by to E ponieważ C jest dalsze. litery w rozwiązaniu byśmy zamienili na liczby, litery są tylko dla przykładu aby lepiej zrozumieć. Nie chodzi mi o kod tylko bardziej jakieś logiczne wytłumaczenie czyli przechodzimy po tabeli zapisujemy do każdego indeksu rozwidlenie w jakiś sposób. Wiem, że może nie jest to całkiem jasne wytłumaczenie problemu ale liczę na pomoc i z góry dziękuje.

*Graf może wyglądać inaczej może mieć więcej rozwidleń może ich nawet mieć zero.

2 odpowiedzi

0 głosów
odpowiedź 30 października 2022 przez obl Maniak (51,300 p.)

Nie wiem, czy o to ci chodzi, ale zazwyczaj jest to organizowane tak, że masz elementarną strukturę danych:

{
  index: number;
  parentIndex: number;
}

I teraz masz głównego noda (rozwidlenie) on nie ma rodzica więc parentIndex = null, natomiast jego dzieci będą miały parentIndex = indeksowi głównego one też mogą mieć dzieci, które przechowują indeks swojego rodzica. Znalezienie wszystkich rozwidleń związanych z dzieckiem będzie polegało na przeskakiwaniu z indeksu na indeks aż znajdziesz głównego, który rodzica mieć nie będzie. Elementy będą przechowywane w tablicy, można to zorganizować w klasie, która udostępni metody dodawania/wyszukiwania. Można to też jeszcze inaczej zorganizować ale ta struktura jest też ciekawa bo można ją zastosować np w bazie danych.

komentarz 30 października 2022 przez jankustosz1 Nałogowiec (36,920 p.)
W tytule pojawia się słowo graf, nie drzewo, więc chyba autor chciał wiedzieć na jakie sposoby można go reprezentować (macierz sąsiedztwa / lista sąsiedztwa)

Rozumiem, jednak, że na obrazku pojawia się drzewo, więc autor może sam nie wiedzieć czego chce
0 głosów
odpowiedź 30 października 2022 przez Whistleroosh Maniak (57,400 p.)

Chodzi o drzewo czy graf? Jesli o drzewo to pewnie można skorzystać ze zmodyfikowanego LCA

Podobne pytania

0 głosów
1 odpowiedź 568 wizyt
0 głosów
1 odpowiedź 267 wizyt
pytanie zadane 21 czerwca 2018 w Algorytmy przez k222 Nałogowiec (30,150 p.)

93,385 zapytań

142,384 odpowiedzi

322,540 komentarzy

62,746 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...