banner




Sortowanie topologiczne

Przed Moniką bardzo pracowity dzień. Ma do zrobienia wiele zadań, jednak aby wykonać pewne zadanie musi często wykonać jakieś inne np. najpierw musi pójść do sklepu kupić składniki na ciasto, a dopiero potem może je upiec. Pomóż Monice ustalić kolejność w jakiej powinna wykonywać zadania przeznaczone na ten dzień.

Mamy dany graf skierowany, acykliczny, tzw. dag. To, co chcemy zrobić w tym zadaniu to ustalić kolejność topologiczną zadań  - wierzchołków grafu. W teorii grafów sortowanie topologiczne skierowanego grafu acyklicznego to liniowe uporządkowanie wierzchołków, w którym jeśli istnieje krawędź skierowana prowadząca od wierzchołka do , to znajdzie się przed wierzchołkiem . Innymi słowy, każdy wierzchołek poprzedza wszystkie te wierzchołki, do których prowadzą wychodzące od niego krawędzie.
Do sortowania topologicznego wykorzystuje się znany nam już DFS.

Zazwyczaj sortowanie topologiczne jest możliwe na więcej niż jeden sposób.sort topologiczne
Dla powyższego grafu możliwe są kolejności:
1, 2, 3, 4, 5, 6, 8, 7
1, 2, 4, 6, 3, 8, 5, 7

3, 1, 5, 2, 4, 8, 7, 6


I to by było na tyle, czego się nauczymy na tej stronie. O grafach można mówić jeszcze długo i szeroko, jest całe mnóstwo grafów, o których nawet nie wspomniałam na tej stronie i jeszcze więcej problemów, które ich dotyczą. Zachęcam do tego, aby zainteresować się tym bardziej, gdyż jest to wyjątkowo ciekawy dział matematyki i informatyki :).






Created by Monika Ciosek