ALGORYTMY MATEMATYKI DYSKRETNEJ ZADANIA DOMOWE
1. Wygeneruj wszystkie permutacje zbioru [4].
2. Wygeneruj wszystkie podzbiory zbioru [5].
3. Wygeneruj wszystkie 3-elementowe podzbiory zbioru [6].
4. Wygeneruj wszystkie podziaªy zbioru [5].
5. Napisz algorytm o zªo»ono±ci O(n), gdzie n-liczba wierzchoªków danego grafu, który bada czy dany graf zorientowany reprezentowany przez macierz s¡siedztwa zawiera wierzchoªek, do którego dochodz¡
kraw¦dzie od wszystkich pozostaªych wierzchoªków i z którego nie wychodzi »adna kraw¦d¹.
6. Napisz algorytm badaj¡cy w czasie O(n + m) czy dany graf zorientowany o n wierzchoªkach i m kraw¦dziach jest acykliczny.
7. Napisz rekurencyjn¡ wersj¦ algorytmu przeszukiwania w gª¡b.
8. Znajd¹ graf, dla którego poni»sza macierz jest macierz¡ a) incydencji b) s¡siedztwa.
2 66 66 66 66 64
0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 1 0
3 77 77 77 77 75
9. Zastosuj algorytm przeszukiwania a) wszerz, b) w gª¡b dla nast¦puj¡cego drzewa:
u u
u u
u
u u
u u
3
1 2
9 7 8
4 5 6
@@
@
@@
@
@@
@
10. W grae o nast¦puj¡cej macierzy s¡siedztwa
2 66 66 66 66 66 66 64
0 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 1 1 0 1 0
3 77 77 77 77 77 77 75
znajd¹ cykl Eulera uzywaj¡c a) metody przeszukiwania w gª¡b, b) algorytmu Fleury'ego.
11. Dla nast¦puj¡cego grafu:
t t
t t
t
t t
t
t t
J JJ
J
JJ JJ
JJ
JJ
JJ JJ
a) znajd¹ fundamentalny zbiór cykli metod¡ opart¡ na algorytmie przeszukiwania w gª¡b, b) znajd¹ drzewo rozpinaj¡ce tego grafu metod¡ opart¡ na algortymie przeszukiwania w gª¡b, c) znajd¹ skªa- dowe dwuspójno±ci stosuj¡c algortym podany na wykªadzie.
12. Dla grafu danego poni»sza macierza wag zastosuj algorytm Dijkstry:
2 66 66 66 66 66 66 64
1 3 1 3 1 1
1 1 3 1 1 1
6 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 2
1 1 1 3 1 1
3 77 77 77 77 77 77 75
13. Przy u»yciu algortymu Primy-Dijkstry znajd¹ minimalne drzewo rozpinajace w grae danym poni»sza
macierza wag: 2
66 66 66 66 66 66 64
1 3 6 3 1 1
3 1 3 1 1 1
6 3 1 1 1 1
3 1 1 1 1 3
1 1 1 1 1 2
1 1 1 3 2 1
3 77 77 77 77 77 77 75