MMN 11
עדיאל בן משה 208969378 אלגוריתמים 25א ממן 11
Q1
טענה א נכונה. נניח בשלילה שהעומקים שונים. אז קיים צומת v ב T2 בעומק d כך ש d גדול מהעומק של T1 וקטן מהעומק של T2. אבל עץ BFS מוצא את המסלול הקצר ביותר ל v. ולא יתכן שיהיו שני מסלולים קצרים ביותר בשני אורכים שונים.
דוגמה נגדית לטענה B
Q2
בהרצה 1 ו-3 כמו שרואים יוצא עץ אחד. בשנייה, שני עצים. כלומר אחד של Z ואחד של כל השאר.
Q3
input: graph G = (V, E), nodes U ⊆ V, start node s ∈ V, target node t ∈ V
output: determine if a path exists from s to t in G satisfying our 2 conditions
run time: O(|V| + |E|)
-------
G' = (V', E')
∀ v ∈ V:
V' = V' ∪ {v_1, v_2, v_3}
∀ (v,w) ∈ E:
if w not in U:
∀ i ∈ {1,2,3}, E' = E' ∪ {(v_i, w_i)}
else:
E' = E' ∪ {(v_1, w_2), (v_2, w_3)}
run BFS(G', s_1) to find the shortest path to t_3, which is in the form: (s_1, v_1, ... , u_2, v_2, ... , u_3, v_3, ... , t_3)
replace each v_i with v in the G and return the path