מבני נתונים ואלגוריתמים - מחברת קורס/גרפים/אלגוריתמים למציאת עפ"מ/תרגילים/חוסר שימוש בקשת היקרה ביותר במעגל/תשובה

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי

בתרשים הבא מצויירים צמתי המעגל, (הקשתות אינן מצויירות וכך גם שאר הצמתים). נניח שהקשת היא הקשת .

מעגל בבניית עפ"מ - מצב המעגל ההתחלתי.
מעגל בבניית עפ"מ - מצב המעגל ההתחלתי.

נניח בשלילה ש אכן שייכת לעפ"מ. אפשר לבנות את העפ"מ ע"י הוספת קשתות בסדר שרירותי (באופן שקול: לאחר שקובעים את קשתות העפ"מ, אפשר לתאר אותן בסדר שרירותי). נניח לכן ש אחרונה. כמה עצים יש בדיוק לפני הוספת ? יש בהכרח שני עצים. לו היה עץ יחיד, הוספת היתה מייצרת מעגל, ולו היו שלושה (או יותר) עצים, קשת אחת לא היתה יכולה לחבר ביניהם.

נניח לכן שיש כרגע שני עצים: עץ אדום ועץ שחור. נניח ש שייך לעץ השחור. אז בהכרח שייך לעץ האדום (מדוע?). התרשים הבא מראה זאת.

מעגל בבניית עפ"מ - מצב המעגל לפני הוספת הקשת האחרונה.
מעגל בבניית עפ"מ - מצב המעגל לפני הוספת הקשת האחרונה.

נשים לב שאם שייך לעץ השחור ו לעץ האדום, אז בהכרח יש כך ש שייך לעץ השחור אך שייך לעץ האדום.

מעגל בבניית עפ"מ - קשת טובה יותר מהקשת האחרונה.
מעגל בבניית עפ"מ - קשת טובה יותר מהקשת האחרונה.

הקשת שייכת למעגל, ולכן בהכרח זולה מ (מדוע?). לכן ברור שנקבל עפ"מ זול יותר (ממש) אם בצעד האחרון נשתמש ב במקום ב, דבר שסותר את הנחתנו ש נמצאת בעפ"מ.