Podstawy programowania w Pythhonie - Wykład 11

Transkrypt

Podstawy programowania w Pythhonie - Wykład 11
Podstawy programowania w Pythhonie
Wykład 11
dr Andrzej Zbrzezny
Instytut Matematyki i Informatyki
Akademia Jana Długosza w Cz˛estochowie
17 stycznia 2013
dr Andrzej Zbrzezny (IMI AJD)
Podstawy programowania w Pythhonie
17.01.2013
1/6
Przeszukiwanie grafów nieskierowanych
Klasa pomocnicza Stos – metody
__init__(self)
empty(self)
push(self, item)
top(self)
pop(self)
size(self)
dr Andrzej Zbrzezny (IMI AJD)
Podstawy programowania w Pythhonie
17.01.2013
2/6
Przeszukiwanie grafów nieskierowanych
Klasa pomocnicza Kolejka – metody
__init__(self)
empty(self)
insert(self, item)
front(self)
remove(self)
size(self)
dr Andrzej Zbrzezny (IMI AJD)
Podstawy programowania w Pythhonie
17.01.2013
3/6
Przeszukiwanie grafów nieskierowanych
Klasa Graph – metody
__init__(self)
addEdge(self, a, b) – dodawanie krawedzi
˛
show(self) – wyświetlenie grafu
dfs(self) – przeszukiwanie grafu wgłab
˛
bfs(self) – przeszukiwanie grafu wszerz
spanning_tree(self, a) – minimalne drzewo rozpinajace
˛
spanning_forest(self) – minimalny las rozpinajacy
˛
dr Andrzej Zbrzezny (IMI AJD)
Podstawy programowania w Pythhonie
17.01.2013
4/6
Grafy nieskierowane
Algorytm przechodzenia grafu „wgłab”
˛ w pseudokodzie
# Przechodzenie metoda˛ "wgłab"
˛
wszystkich
# wierzchołków grafu osiagalnych
˛
z wierzchołka A
def dfs(A):
ODWIEDZONE = pusty zbiór wierzchołków
utwórz pusty stos S
włóż na stos S wierzchołek A
while stos S nie jest pusty:
pobierz z S wierzchołek do zmiennej B
if B nie znajduje si˛
e w zbiorze ODWIEDZONE:
wypisz wierzchołek B
dodaj wierzchołek B do zbioru ODWIEDZONE
włóż na stos S wszystkich
nieodwiedzonych sasiadów
˛
wierzchołka B
dr Andrzej Zbrzezny (IMI AJD)
Podstawy programowania w Pythhonie
17.01.2013
5/6
Grafy nieskierowane
Algorytm przechodzenia grafu „wszerz” w pseudokodzie
# Przechodzenie metoda˛ "wszerz" wszystkich
# wierzchołków grafu osiagalnych
˛
z wierzchołka A
def bfs(A):
ODWIEDZONE = pusty zbiór wierzchołków
utwórz pusta˛ kolejk˛
e Q
wstaw do kolejki Q wierzchołek A
while kolejka Q nie jest pusta:
pobierz z Q wierzchołek do zmiennej B
if B nie znajduje si˛
e w zbiorze ODWIEDZONE:
wypisz wierzchołek B
dodaj wierzchołek B do zbioru ODWIEDZONE
wstaw do kolejki Q wszystkich
nieodwiedzonych sasiadów
˛
wierzchołka B
dr Andrzej Zbrzezny (IMI AJD)
Podstawy programowania w Pythhonie
17.01.2013
6/6

Podobne dokumenty