![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 15.10.2006 Skąd: zewsząd :P Ostrzeżenie: (0%) ![]() ![]() |
Witam. Piszę system genealogiczny pod moje drzewo o ok. 42000 osób i zastanawiam się nad algorytmem znajdowania najkrótszej ścieżki łączącej dwie dowolne osoby na drzewie. Nie chodzi tu tylko o pokrewieństwa, ale też o osoby spowinowacone itp.
Zastanawiam się jak podejść do tego problemu. Jakiego algorytmu użyć? Myślałem o algorytmie Dijkstry, ale ten polega na znalezieniu najkrótszej ścieżki z wielu możliwych, podczas gdy tu będzie zazwyczaj jedna. Myślałem o implementacji którejś z metod przeszukiwania grafu (BFS i DFS) ale wszystko sprowadza się do sprawdzenia po kolei każdej możliwej ścieżki w drzewie. Czy znacie jakiś ciekawy algorytm który nie wykorzystywałby metody siłowej? Pozdrawiam Ten post edytował Michu 6.09.2008, 08:32:27 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 08:38 |