Průchod grafu do šířky
description
Transcript of Průchod grafu do šířky
![Page 1: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/1.jpg)
Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/02.0024
Průchod grafu do šířky
![Page 2: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/2.jpg)
Průchod grafu do šířky
![Page 3: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/3.jpg)
Průchod grafu do šířky
• Způsob jak projít grafem z vybraného vrcholu, abychom postupně navštívili všechny jeho vrcholy
• Procházíme zleva a „po patrech“ daného grafu• Pro naprogramování používáme frontu
![Page 4: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/4.jpg)
Průchod grafu do šířky
![Page 5: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/5.jpg)
Průchod grafu do šířky
![Page 6: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/6.jpg)
Průchod grafu do šířky
![Page 7: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/7.jpg)
Průchod grafu do šířky
![Page 8: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/8.jpg)
Průchod grafu do šířky
![Page 9: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/9.jpg)
Průchod grafu do šířky
![Page 10: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/10.jpg)
Průchod grafu do šířky
![Page 11: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/11.jpg)
Průchod grafu do šířky
![Page 12: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/12.jpg)
Průchod grafu do šířky
![Page 13: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/13.jpg)
Průchod grafu do šířky
![Page 14: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/14.jpg)
Průchod grafu do šířky
![Page 15: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/15.jpg)
Průchod grafu do šířky
![Page 16: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/16.jpg)
Průchod grafu do šířky
![Page 17: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/17.jpg)
Průchod grafu do šířky
![Page 18: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/18.jpg)
Průchod grafu do šířky
![Page 19: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/19.jpg)
Fronta
• Využívá se pro průchod do šířky• Má dvě základní funkce push a shift.• Push – vloží prvek na konec fronty• Shift – sejme prvek ze začátku fronty
![Page 20: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/20.jpg)
Push iniciálního prvku A do fronty
![Page 21: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/21.jpg)
Shift horního prvku fronty
![Page 22: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/22.jpg)
Push sousedů prvku A do fronty
![Page 23: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/23.jpg)
Shift horního prvku fronty
![Page 24: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/24.jpg)
Push sousedů prvku B do fronty
![Page 25: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/25.jpg)
Shift horního prvku fronty
![Page 26: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/26.jpg)
Push sousedů prvku C do fronty
![Page 27: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/27.jpg)
Shift horního prvku fronty
![Page 28: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/28.jpg)
Shift horního prvku fronty
![Page 29: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/29.jpg)
Shift horního prvku fronty
![Page 30: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/30.jpg)
Shift horního prvku fronty
![Page 31: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/31.jpg)
Na zamyšlenou
• Co se stane budou-li následníci uzlů propleteni mezi sebou?
• Jak implementovat frontu?• Jak si hlídat navštívenost vrcholů?• Kdy skončit prohledávání grafu?
![Page 32: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/32.jpg)
Průchod grafu do hloubky
Projekt učitelé
![Page 33: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/33.jpg)
Průchod grafu do hloubky
![Page 34: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/34.jpg)
Průchod grafu do hloubky
• Způsob jak projít grafem z vybraného vrcholu, abychom postupně navštívili všechny jeho vrcholy
• Postupně se „zanořujeme“ až na dno nejlevějšího ramene grafu
• Při programování používáme zásobník
![Page 35: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/35.jpg)
Průchod grafu do hloubky
![Page 36: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/36.jpg)
Průchod grafu do hloubky
![Page 37: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/37.jpg)
Průchod grafu do hloubky
![Page 38: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/38.jpg)
Průchod grafu do hloubky
![Page 39: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/39.jpg)
Průchod grafu do hloubky
![Page 40: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/40.jpg)
Průchod grafu do hloubky
![Page 41: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/41.jpg)
Průchod grafu do hloubky
![Page 42: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/42.jpg)
Průchod grafu do hloubky
![Page 43: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/43.jpg)
Průchod grafu do hloubky
![Page 44: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/44.jpg)
Průchod grafu do hloubky
![Page 45: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/45.jpg)
Průchod grafu do hloubky
![Page 46: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/46.jpg)
Průchod grafu do hloubky
![Page 47: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/47.jpg)
Průchod grafu do hloubky
![Page 48: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/48.jpg)
Průchod grafu do hloubky
![Page 49: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/49.jpg)
Průchod grafu do hloubky
![Page 50: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/50.jpg)
Zásobník
• Využívá se pro průchod do hloubky• Má dvě základní funkce push a pop.• Push – vloží prvek na vrchol zásobníku• Pop – sejme prvek z vrcholu zásobníku
![Page 51: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/51.jpg)
Push iniciálního prvku A na zásobník
![Page 52: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/52.jpg)
Pop horního prvku zásobníku
![Page 53: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/53.jpg)
Push sousedů prvku A na zásobník
![Page 54: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/54.jpg)
Pop horního prvku zásobníku
![Page 55: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/55.jpg)
Push sousedů prvku B na zásobník
![Page 56: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/56.jpg)
Pop horního prvku zásobníku
![Page 57: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/57.jpg)
Pop horního prvku zásobníku
![Page 58: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/58.jpg)
Pop horního prvku zásobníku
![Page 59: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/59.jpg)
Push sousedů prvku C na zásobník
![Page 60: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/60.jpg)
Pop horního prvku zásobníku
![Page 61: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/61.jpg)
Pop horního prvku zásobníku
![Page 62: Průchod grafu do šířky](https://reader036.fdocument.pub/reader036/viewer/2022062304/56813ac1550346895da2d2c2/html5/thumbnails/62.jpg)
Na zamyšlenou
• Co se stane budou-li následníci uzlů propleteni mezi sebou?
• Pomocí jakých struktur implementovat zásobník?