שאלה ראשונה:
יהי G=(V,E)zzz גרף מכוון ו w:E-->R פונקצית משקל על הקשתות. ידוע שאין בגרך מעגלים שליליים. נגדיר לכל קודקוד v זזז: δ*(v)=minδ(u,v)zzz (כאשר הmin הוא על כל הקודקודים ב V). תארו אלגוריתם שרץ בזמן O(V*E)zzz ומוצא לכל קודקוד v את δ*(v)zzz. הגעתי לפתרון שמוצא את δ*(v)zzz לקודקוד אחד בזמן הריצה הדרוש: להפוך את הגרף G (קשת (u,v) תהפוך לקשת (v,u)) ואז להריץ את האלגוריתם של בלמן פורד למציאת מסלולים קצרים מקודקוד מקור אחד כאשר קודקוד המקור הוא v. אח"כ צריך למצוא את את הdzzz הקטן ביותר. הגעתי גם למסקנה שאם המק"ב מw לx הוא המק"ב הקצר ביותר הנכנס (בעצם מה שמבקשים בשאלה זה למצוא את אורך המק"ב הקצר ביותר שנכנס לכל קודקוד בגרף) לx והקשת הקלה ביותר שנכנסת לקודקוד v היא (x,v) אז המק"ב הקצר ביותר שנכנס לv הוא המק"ב הנ"ל מw לx בתוספת הקשת (x,v). זה גם נכון (נדמה לי) אם נחליף את הקשת (x,v) במק"ב הקצר ביותר הנכנס ל v (כלומר המק"ב מx לv הוא הקצר ביותר הנכנס ל v). אבל אני לא רואה את הפתרון מכאן. הכיוון שלי בכלל נכון? תודה מראש.