מבני נתונים ואלגוריתמים - מחברת קורס/גרפים/חיפוש רוחבי/תרגילים/ סדר הדפסת הצמתים וזמן הריצה/שאלה v2
מראה
להלן גרסה של אלגוריתם החיפוש הרוחבי:
BFS(G, s)
1 q = Make-Queue()
2 Visited = Make-Array( |V| )
3 for u in V
4 Visited[u] = False
5 Print s
6 Visited[s] = True
7 Enqueue(q, s)
8 while not Empty(q)
9 u = Dequeue(q)
10 For every neighbor v of u
11 if Visited[v] == False
12 Print v
13 Visited[v] = True
14 Enqueue(q, v)
גרסה זו עוברת על כל הצמתים ברכיב הקשירות של ומדפיסה אותם לפי סדר ההגעה מ.
להלן גרף שבו צומת המוצא הוא .
הנח שבשורה 10, אם לצומת יש יותר משכן יחיד, סדר הצמתים הוא כסדרם המספרי.
- באיזה סדר יודפסו האיברים?
- נניח ש קשיר מ (יש מסלול מ לכל צומת). אנא הוכח שהאלגוריתם יעבוד בזמן .