Przeszukiwanie wszerz
Z Wikipedii
| Niniejszy artykuł jest częścią cyklu teoria grafów.
|
|
Najważniejsze pojęcia Wybrane klasy grafów Algorytmy grafowe Zagadnienia przedstawiane jako problemy grafowe Inne zagadnienia |
| edytuj ten szablon |
| Przeszukiwanie wszerz | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Kolejność odwiedzania węzłów | ||||||||||
| Podstawowe informacje | ||||||||||
|
Przeszukiwanie wszerz (ang. Breadth-first search, w skrócie BFS) – w informatyce algorytm przeszukiwania grafu używany do przechodzenia lub przeszukiwania drzewa lub grafu. Algorytm zaczyna od korzenia i odwiedza wszystkie połączone z nim węzły. Następnie odwiedza węzły połączone z tymi węzłami i tak dalej, aż do odnalezienia celu.
Spis treści |
[edytuj] Algorytm
funkcja przeszukiwanie_wszerz (Start, Cel) {
dodaj_do_kolejki(Kolejka, Start)
dopóki nie_pusta(Kolejka) {
Wierzchołek:= pobierz_z_kolejki(Kolejka)
jeżeli Wierzchołek = Cel {
zwróć Wierzchołek /*kod poniżej nie wykonuje się*/
}
dla każdego Syna w Wierzchołek {
jeżeli nie_odwiedzony(Syn) {
zapamiętaj_że_odwiedzony(Syn)
dodaj_do_kolejki(Kolejka, Syn)
}
}
}
}
[edytuj] Właściwości
[edytuj] Złożoność pamięciowa
Ponieważ trzeba utrzymywać listę węzłów które się już odwiedziło, złożoność pamięciowa przeszukiwania wszerz wynosi O(|V| + |E|), gdzie |V| to liczba węzłów, a |E| to liczba krawędzi w grafie. Z powodu tak dużego zapotrzebowania na pamięć przeszukiwanie wszerz jest niepraktyczne dla dużych danych.
[edytuj] Złożoność czasowa
Ponieważ w najgorszym przypadku przeszukiwanie wszerz musi przebyć wszystkie krawędzie prowadzące do wszystkich węzłów, złożoność czasowa przeszukiwania wszerz wynosi O(|V| + |E|), gdzie |V| to liczba węzłów, a |E| to liczba krawędzi w grafie.
[edytuj] Kompletność
Przeszukiwanie wszerz jest kompletne, to znaczy że gdy istnieje rozwiązanie, przeszukiwanie wszerz odnajdzie je niezależnie od grafu.
[edytuj] Zastosowania przeszukiwania wszerz
Przeszukiwanie wszerz może zostać użyte do rozwiązania wielu problemów z teorii grafów, dla przykładu:
- Odnalezienie wszystkich połączonych węzłów w grafie.
- Odnalezienie najkrótszej ścieżki między dwoma wierzchołkami (nie uwzględnia wag krawędzi w grafie ważonym).
[edytuj] Zobacz też
| Cyfrowe zdjęcia mają swój "odcisk palca" |
|
Dzięki charakterystycznym cechom zapisanym w każdym cyfrowym zdjęciu specjalista może ustalić, jakim aparatem je zrobiono - informuje "New Scientist".
|
| Kliniczne badania skuteczności akupunktury |
|
Czy akupunktura pomaga zajść w ciążę? Próbowano sprawdzić to w sposób naukowy i okazało się, że skuteczniejsze jest... placebo. Jednak jest w tym badaniu pewne "ale".
|
| Związek obecny w czosnku uleczy cukrzycę? |
|
Związek obecny w czosnku może stać się składnikiem doustnych tabletek na cukrzycę typu I oraz typu II, które mogą nawet zastąpić codzienne zastrzyki z insuliną - wykazali naukowcy z Japonii.
|
| Nobliści apelują o edukację dzieci ze stref konfliktu |
|
31 laureatów Pokojowej Nagrody Nobla w opublikowanym liście do światowych przywódców nalega na udzielenie pomocy 37 mln dzieci ze stref objętych konfliktami. Z powodu wojen dzieci nie mogą chodzić do szkoły.
|
| Odkryto najstarszą solinę w Europie |
|
Bułgarscy archeolodzy odkryli najstarszą w Europie, neolityczną salinę sprzed 7400 lat - poinformował dziennik "Trud".
|