Question
מציאת קוטר הגרף:
יהא גרף קשיר ולא מכוון. לכל זוג צמתים המרחק בין הצמתים הוא מספר הקשתות במסלול קצר ביותר בניהם. קוטר הגרף, , מוגדר כמרחק המקסימלי בין כל זוגות הצמתים בגרף, כלומר .
א. בהינתן גרף, , וצומת שידוע כי הוא קצה של קוטר ב- הציעו אלגוריתם המחזיר את הקוטר של ופועל בסיבוכיות זמן עליכם לנתח את סיבוכיות האלגוריתם ולהוכיח את נכונותו.
ב. בהינתן גרף, , הציעו אלגוריתם המחזיר את קוטר ופועל בסיבוכיות זמן עליכם לנתח את סיבוכיות האלגוריתם ולהוכיח את נכונותו.
Answers
אלגוריתם:
- בחר צומת כלשהו, .
- הרץ BFS מ- ובחר צומת עם מרחק מקסימלי מ-, .
- הרץ BFS מ- והחזר את המרחק של הצומת עם המרחק המקסימלי מ-.
טענה: הוא קצה של קוטר בעץ.
הוכחה: נניח בשלילה שלא. נסתכל על קצוות של קוטר, ו- ועל האב הקדמון המשותף של ,ו-, . אם לא קצה של קוטר אז אחד מהשניים מתקיים: או.
קיבלנו סתירה לכך ש- צומת במרחק מקסימלי מ- כי:, ו-.
נכונות האלגוריתם: נובע מהטענה ומההגדרה של קוטר.
סיבוכיות: מריצים פעמיים BFS ובנוסף עוברים על כל הצמתים כדי למצוא צומת עם מרחק מקסימלי. סך הכל.