%Initialization: Layer(0):={s}; i:=0; %Iterations: While there is an edge (u,v) s.t. u Layer( i)& v. i:=i+1;

Σχετικά έγγραφα
Layer(0) := {s}; i := 0; While there is an edge (u,v) s.t. u Layer( i)& v Layer( k) i := i+1; R := {s}; while there is an edge (u,v) s.t.

αὐτόν φέρω αὐτόν τὸ φῶς τὸ φῶς αὐτόν τὸ φῶς ὁ λόγος ὁ κόσμος δι αὐτοῦ ἐγένετο, καὶ ὁ κόσμος αὐτὸν οὐκ ἔγνω αὐτόν

Αλγόριθμοι Γραφημάτων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Αλγόριθμοι Επανάληψη για πρόοδο

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Δομές Δεδομένων Ενότητα 6

Christmas Day I (abc) (rcl)

LXX w/ Logos Morphology

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Ἀβαδδών א ב ד ון Rev 9:11 ἀββα א ב א Mk 14:36 Rom 8:15 Gal 4:6. Ἅβελ ה ב ל Matt 23:35 Lk 11:51 Heb 11:4 Heb 12:24. Ἀβιὰ א ב י ה Matt 1:7 Lk 1:5

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθμοι Γραφημάτων

Matthew Mark Luke Greek Reconstruction Hebrew Reconstruction

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Calling and Training Disciples: How to Pray complex: Lord s Prayer 1

Αλγόριθμοι Γραφημάτων

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Αλγόριθμοι και πολυπλοκότητα Depth-First Search

אלגוריתמים סמסטר א' תשע"ב מרצים: פרופ' עמוס פיאט ופרופ' מיכה שריר. מתרגלים: שי ורדי ואדם שפר.

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

The Catholic University of America Biblical Studies Comprehensive Examination

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα

Ενότητα 10 Γράφοι (ή Γραφήµατα)

Matthew Mark Luke Luke Greek Reconstruction Hebrew Reconstruction. καὶ εὐαγγελιζόμενος τὴν βασιλείαν τοῦ θεοῦ

חברה ותעסוקה. παρέα και απασχόληση

21 7 Holy_bible_ !! :

Αλγόριθμοι και πολυπλοκότητα Minimum Spanning Trees

3-9 - a < x < a, a < x < a

Texts for Scriptural Reasoning

Αλγόριθµοι και Πολυπλοκότητα

.40 FLA. ST. U. L. REV. 601, (2013)

Matthew Mark Luke Greek Reconstruction Hebrew Reconstruction

Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in

Αλγόριθμοι Eλάχιστα μονοπάτια

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Затерянные в толпе. Библейские персонажи Брейгелей. Материалы к лекции Анны Шмаиной-Великановой и Дильшат Харман

Genesis 9:8-17 Psalm 25: Peter 3:18-22 Mark 1:9-15

SCHOOL OF MATHEMATICAL SCIENCES G11LMA Linear Mathematics Examination Solutions

2 Kings 2:1-12 Psalm 50:1-6 2 Corinthians 4:3-6 Mark 9:2-9

Σχεδίαση & Ανάλυση Αλγορίθμων

Acts 16: 6-12a and Διῆλθον δὲ τὴν Φρυγίαν καὶ Γαλατικὴν χώραν κωλυθέντες ὑπὸ τοῦ ἁγίου πνεύματος λαλῆσαι τὸν λόγον ἐν τῇ Ἀσίᾳ

Fractional Colorings and Zykov Products of graphs

Homework 8 Model Solution Section

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 10η: Γράφοι Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

Rahlfs LXX Vulgate Codex Leningradensis

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

Matthew Mark Luke Acts Greek Reconstruction Hebrew Reconstruction. 7 ל ת ל מ יד יו οὓς ἤθελεν αὐτός τοὺς μαθητὰς αὐτοῦ τοὺς μαθητὰς αὐτοῦ

Matrices and vectors. Matrix and vector. a 11 a 12 a 1n a 21 a 22 a 2n A = b 1 b 2. b m. R m n, b = = ( a ij. a m1 a m2 a mn. def

Αλγόριθμοι και Πολυπλοκότητα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι και πολυπλοκότητα Directed Graphs

Θεωρία Γράφων Αλγόριθμοι BFS, Prim, Dijkstra, Bellman-Ford

Δένδρα επικάλυψης ελάχιστου κόστους και το πρόβλημα του πλανόδιου πωλητή (Traveling Salesman Problem: TSP)

1 Samuel 2:18-20, 26 Psalm 148 Colossians 3:12-17 Luke 2:41-52 Mark 1:1-20 N (Psalm 91:9-12) N2

ר ץ תּוֹצ יא צ מ ח הּ וּכ ג נּ ה ז רוּע יה ת צ מ יח כּ ן א ד נ י י הו ה י צ מ יח צ ד ק ה וּת ה לּ ה נ ג ד כּ ל ה גּוֹי ם

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

Approximation of distance between locations on earth given by latitude and longitude

Γράφοι: κατευθυνόμενοι και μη

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Acts 2:1-21 or Ezekiel 37:1-14 Psalm 104:24-34, 35b Romans 8:22-27 or Acts 2:1-21 John 15:26-27; 16:4b-15

1 st Sunday in Lent (C) Deuteronomy 26:1-11 Psalm 91:1-2, 9-16 Romans 10:8b-13 Luke 4:1-13

2 Kings 2:1-12 Psalm 50:1-6 2 Corinthians 4:3-6 Mark 9:2-9 Matthew 16:24-17:8 Psalm 41:7-10 N2

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 5: Μείωσε και Βασίλευε. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

התעתיק מלועזית לעברית הקדמה

בסל A רמת התועלת היא: ) - השקה: שיפוע קו תקציב=שיפוע עקומת אדישות. P x P y. U y P y A: 10>6 B: 9>7 A: 5>3 B: 4>3 C: 3=3 C: 8=8 תנאי שני : מגבלת התקציב

Songs of the Ascents

Isaiah 43:1-7 Psalm 29 Acts 8:14-17 Luke 3:15-17, 21-22

Zephaniah 3:14-20 Isaiah 12:2-6 Philippians 4:4-7 Luke 3:7-18

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

1 Samuel 3:1-10, (11-20) Psalm 139:1-6, Corinthians 6:12-20 John 1:43-51

بن اػضاص ظبئؼ ص ئ ١ بطا ظ االػضاص غ ١ غ ج ص ف ا زغج ا جؼ ١ ١ خ. Holy_bible_1 ا شج بن اػضاص ظبئؼ ا زغج ا جؼ ١ ١ خ ا غص ظا صذ ١ خ ال ٠ ىغ ا ١ ص ا ١ ذ ١١

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βασιλική

Θεωρία και Αλγόριθμοι Γράφων

SOLUTIONS TO MATH38181 EXTREME VALUES AND FINANCIAL RISK EXAM

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου

ω ω ω ω ω ω+2 ω ω+2 + ω ω ω ω+2 + ω ω+1 ω ω+2 2 ω ω ω ω ω ω ω ω+1 ω ω2 ω ω2 + ω ω ω2 + ω ω ω ω2 + ω ω+1 ω ω2 + ω ω+1 + ω ω ω ω2 + ω

Isaiah 62:6-12 Psalm 97 Titus 3:4-7 Luke 2:(1-7), 8-20

Minimum Spanning Tree: Prim's Algorithm

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Isaiah 11:1-10 Psalm 72:1-7, Romans 15:4-13 Matthew 3:1-12

Acts 2:1-21 or Numbers 11:24-30 Psalm 104:24-34, 35b 1 Corinthians 12:3b-13 or Acts 2:1-21 John 20:19-23 or John 7:37-39

EE512: Error Control Coding

Distances in Sierpiński Triangle Graphs

Jeremiah 31:31-34 Psalm 51:1-12 or Psalm 119:9-16 Hebrews 5:5-10 John 12: Fifth Sunday of Lent (B)

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 3: Δένδρα

Finite Field Problems: Solutions

Joshua 3:7-17 Psalm 107:1-7, // Micah 3:5-12 Psalm 43 // 1 Thessalonians 2:9-13 Matthew 23:1-12

Matthew Mark Luke Greek Reconstruction Hebrew Reconstruction

LXX From the Greek iuxta Hebraeos MT

3η Σειρά Γραπτών Ασκήσεων

O(n logba ) (p q)(x) p(x) q(x) O(n 2 ) 2n + 1. (p q)(x) O(n n)


ΠΛΗ111. Ανοιξη Μάθηµα 10 ο. Γράφοι. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

ל א מּ ים ו ע ל י ך י ז ר ח י הו ה וּכ בוֹ דוֹ ע ל י ך י ר א ה שׂ א י ס ב יב ע ינ י ך וּר א י כּ לּ ם נ ק בּ צוּ ב אוּ ל ך בּ נ י ך מ ר חוֹק י ב אוּ וּב נ ת

Transcript:

1 אל ג ו ר י ת מ י ם 1 ח ו ב ר ת ה ר צ א ו ת ט י ו ט ה, א ב י ב 2 0 0 3 שלמה מורן החוברת מכילה תקצירי הרצאות של הדס שכנאי בסמסטר חרף 6 0 0 2 7- ספי, בתוספת מספר הרצאות של ושלי מסמסטר חורף 2 1 0 2-3 1 0 2 ושלי, שניתנו נ א ו ר בכתיבת חוברת ז ו נעזרתי בחוברת של ג י ל כהן מ, 7 0 0 2 שהכילה סיכומים של ההרצאות מאותה שנה ברצוני להודות ג ם ל י ו נ ת ן גולדהירש, המתרגל האחראי בקורס,, 2 1 0 2-3 על הערותיו ולסטודנטים שלא התביישו ב ש נ ה " ל 1 ל ש א ו ל ו ל ה ע י ר, ובכך תרמו לשיפור החוברת שלמה מורן

2 3 1 0 2 7 / 2 0 1 3 ן ו ר ח א ן ו כ ד ע

3 ה ר צ א ה מ ס ' 1 אלגוריתמים לחיפוש בגרפים א ל ג ו ר י ת מ י ם ל ח י פ ו ש ב ג ר פ י ם ב א י ם ל ע נ ו ת ע ל ש א ל ה ב ס י ס י ת : ב ה י נ ת ן צ ו מ ת ב ג ר ף, מ ה ם ה צ מ ת י ם ה נ ג י ש י ם ( ב נ י ה ג ע ה, א ו ) reachable מ מ נ ו =G, ו צ ו מ ת מ ק ו ר ( V, ק ל ט : ג ר ף מ כ ו ו ן א ו ל א מ כ ו ו ן (E פ ל ט : נ ג י ש י ם ש ה ו א ש ל G ג ר ף ת ת ע ץ T=(R,E') ש ר ש ע ם s V, s ב- ה צ מ ת י ם כ ל א ת ה מ כ י ל V מ- s אלגוריתם חיפוש ג נ ר י ש ה ם R := {s}; while there is an edge (u,v) st u R and v R R: = R {}; v Parent(v) := u; נ ל מ ד ש נ י מ י מ ו ש י ם ש ל ה א ל ג ו ר י ת ם ה ג נ ר י : " ח י פ ו ש ל ר ו ח ב " ו " ח י פ ו ש ל ע ו מ ק " ח י פ ו ש ל ר ו ח ב BFS) :(Breadth First Search - ה ג ד ר ה : מ ר ח ק ב י ן ש נ י צ מ ת י ם ב ג ר ף ל א מ מ ו ש ק ל ה ו א ה מ ס פ ר ה מ י נ י מ א ל י ש ל ק ש ת ו ת ב מ ס ל ו ל ב י נ י הם, א ו א ם א י ן מ ס ל ו ל כ ז ה מ ס ל ו ל ש א ר כ ו ש ו ו ה ל מ ר ח ק ה ו א מ ס ל ו ל ק צ ר ב י ו ת ר ב ע ץ ח י פ ו ש ל ר ח ב, ה מ ר ח ק מ- s ל כ ל צ ו מ ת ב- R ה ו א ה מ ר ח ק ב י נ ה ם ב ג ר ף ה מ ק ו ר י ה א ל ג ו ר י ת ם ב ו נ ה א ת ה ע ץ ב " ש כ ב ו ת " ש כ ב ה i מ כ י ל ה א ת כ ל ה צ מ ת י ם ש מ ר ח ק ם מ- s ה ו א i: %Initialization: Layer(0):={s}; i:=0; %Iterations: While Layer( i) Φ Layer( i + 1) : =Φ ; While there is an edge (u,v) st u Layer( i)& v Layer( k) i:=i+1; Layer( i + 1) : = Layer( i + 1) { v}; Parent( v) : = u; k i

ל מ ה? ) ) 4 מ י מ ו ש BFS ב ע ז ר ת ת ו ר ה ת ו ר ( ש י ס ו מ ן ) Q מ כ י ל ב ה ת ח ל ה ר ק א ת s כ ל ז מ ן ש ה ת ו ר ל א ר י ק, מ ו צ י א י ם א ת ה צ ו מ ת u ש ב ר א ש ה ת ו ר, מ כ נ י ס י ם ל ס ו ף ה ת ו ר א ת כ ל ש כ נ י ו ש ל u ש ע ו ד ל א ה ת ג ל ו, ו- u נ ק ב ע כ א ב י ה ם ש ל ה ש כ נ י ם ה א ל ו ב ע ץ ה BFS ש נ ב נ ה v, d[ v] s מ- v צ מ ת ל כ ל v ש ד ות: ש נ י מ ו ג ד ר י ם ש ל ה מ ר ח ק ה- BFS ב ע ץ ש ל ו ה א ב v adj ( v) [v ]p מ ס מ ן א ת ק ב ו צ ת ה ש כ נ י ם ש ל ה א ל ג ו ר י ת ם : BFS(G,s): for any u in V do d[u] := ; p[u] := nil; Q := {s}; d(s):=0; while Q is not empty do u := dequeue(q); for each v in adj(u) do if d[v] = then d[v] := d[u] + 1; p[v] := u; enqueue(q,v); נ ג י ד ש צ ו מ ת x ג י ל ה א ת צ ו מ ת y א ם ה ת ב צ ע ה ה פ ק ו ד ה 1 + ] [ dx = :[ [ dy Q O( V ) ר י צ ה ז מ ן ס י ב ו כ י ו ת ה י א ה א ת ח ו ל א ח ת פ ע ם ה י ו ת ר ל כ ל ל- מ ו כ נ ס צ ו מ ת כ ל ב ח ו ב ר ת ז ו V ו- E מ י י צ ג י ם, ב ה ת א ם ל ה ק ש ר, א ו א ת ק ב ו צ ו ת ה צ מ ת י ם ו ה ק ש ת ו ת ב ג ר ף, א ו א ת ה ע ו צ מ ו ת ש ל ק ב ו צ ו ת א ל ו

ל מ ה? () 5 כ א ש ר צ ו מ ת u מ ו כ נ ס ל ת ו ר, ה א ל ג ו ר י ת ם מ ב צ ע מ ס פ ר ק ב ו ע ש ל פ ע ו ל ו ת ל כ ל צ ו מ ת ב- u) adj ( ס ה " כ ה ז מ ן ה נ ד ר ש O adj u = O E u ל ב צ ו ע פ ע ו ל ו ת א ל ו ב מ ה ל ך ה א ל ג ו ר י ת ם ה ו א ) ( מ כ א ן ש ה ס י ב ו כ י ו ת ה כ ו ל ל ת ה י א (E + ( ה ו כ ח ת נ כ ו נ ו ת OV נ ר א ה כ י BFS מ ו צ א א ת ה מ ר ח ק ה ק צ ר ב י ו ת ר ( ב ק ש ת ו ת ) ל כ ל צ ו מ ת ש ה ו א בן ה ג ע ה נ ס מ ן ב- מ- s dist ( s, v) א ת ה מ ר ח ק א י ש ו ו י ו ן ה ק ש ת : ל כ ל ק ש ת ט ע נ ה ב ס י ס י ת ש נ ש ת מ ש ב ה ה י א : מ- s ל- v מ ת ק י י ם (v (,u dist(, s v) dist(, s u) + 1 מ ס ל ו ל מ s ל- v ש א ו ר כ ו dist ( s, v) י ק ר א " מ ס ל ו ל ק צ ר ב י ו ת ר ל מ- s d[] v dist s, v " v ל מ ה 1: 1 ב כ ל ש ל ב ב ב י צ ו ע ה א ל ג ו ר י ת ם מ ת ק י י ם ל כ ל צ ו מ ת v א י ה ש ו ו י ו ן ) ( ה ו כ ח ה : ב א י נ ד ו ק צ י ה מ ס פ ר ע ל ש נ ק ב ע י ם ה ע ר כ י ם ל ר א ש ו נ ה ) פ ע ו ל ו ת [v ]d ע ר כ י ש ל ה ע ד כ ו ן,s []d s = 0 = dist ( ו ל ג ב י ש א ר ה צ מ ת י ם בסיס: א ח ר י ה א ת ח ו ל (s ש ה א ל ג ו ר י ת ם ( ל א ח ר מ ב צ ע d[] v = dist(, s v) צ ע ד ה א י נ ד ו ק צ י ה : נ נ י ח ה ט ע נ ה נ כ ו נ ה א ח ר י k פ ע ו ל ו ת ע ד כ ו ן, ו ת ה י dy [ ]: = dx [ ] + 1 פ ע ו ל ת ה ע ד כ ו ן ה 1+k ל ג ב י כ ל צ ו מ ת u ל מ ע ט y ה ט ע נ ה נ כ ו נ ה מ ה נ ח ת ה א י נ ד ו ק צ י ה ( כ י ע ר ך d[u] ל א ה ש ת נ ה ) ל ג ב י y מ ת ק י י ם ל א ח ר ה ע ד כ ו ן : d[ y] = d[ x] + 1 dist s, x + 1 dist s, y כ א ש ר א י ה ש ו ו י ו ן ה ר א ש ו ן נ ו ב ע מ ה נ ח ת ה א י נ ד ו ק צ י ה ו ה ש נ י נ ו ב ע מ א י ש ו ו י ו ן ה ק ש ת ל ע י ל ל מ ה 2: 2 ל כ ל צ ו מ ת x ע ב ו ר ו dist(, s x ) < א x מ ו כ נ ס ל- Q ב מ ה ל ך ב י צ ו ע BFS(G,s) ב ל כ ל צ ו מ ת, y א ם (y dist(, s (x < dist(, s ה ו כ ח ה: ב ס י ס א י נ ד ו ק צ י ה ע ל dist(s,x) ה א י נ ד ו ק צ י ה מ ו כ נ ס ר א ש ו ן : dist(s,x)=0 ה ט ע נ ה מ ת ק י י ם : א ז y ל א מ ו כ נ ס ל- Q ל פ נ י x ה מ ק י י ם ה י ח י ד ה ו א s כ י מ ת ק י י מ ת ו ה ו א ה ש ו ו י ו ן,

ל מ ש ל ש כ ן) 6 נ נ י ח ש ה ט ע נ ה נ כ ו נ ה ע ב ו ר, k ו י ה י x ה מ ק י י ם ק י י ם dist( x) = k + 1 x' adj( x) כ ך ש )'x ה צ ו מ ת ה ק ו ד ם ל- x ע ל מ ס ל ו ל ק צ ר ב י ו ת ר dist( x') = dist( x) 1 מ s לx ) מ ה נ ח ת ה א י נ ד ו ק צ י ה 'x ה ו כ נ ס ל ת ו ר ל פ נ י ש- x' ה ו צ א מ ה ת ו ר ג ם x ה ו כ נ ס ל ת ו ר כ ע ת י ה י y כ ך ש- (y < dist(, s ),) א ם y ל א ה ו כ נ ס ל ת ו ר ה ט ע נ ה מ ת ק י י מ ת ב א ו פ ן ר י ק dist s x א ח ר ת י ה י 'y ה צ ו מ ת ש ג י ל ה א ת y ב ג ל ל " א י ש ו ו י ו ן ה ק ש ת " מ ת ק י י ם ), dist(s, y ) dist(s, y) 1 > dist(s, x) 1 = dist(s, x כ ל ו מ ר מ ה נ ח ת ה א י נ ד ו ק צ י ה ע ל 'x, נ ו ב ע ש- 'x מ ו כ נ ס ל ת ו ר ל פ נ י ש ה ו כ נ ס dist(, s y ') > dist(, s x') y ה ו כ נ ס ל פ נ י x ו ל כ ן 'y כ א ש ר מ ר י צ י ם א ת BFS(G,s) ע ל ג ר ף G ע ם צ ו מ ת מ ק ו ר, s ב ס י ו ם ה ה ר צ ה d[] v = dist s, v ל כ ל צ ו מ ת v מתקיים: ) ( ב נ ו ס ף, ה ע ץ ה מ ו ר כ ב מ ה ק ש ת ו ת (p(v),v) ה ו א ע ץ BFS ש ל ה ו כ ח ה: ל ה ו כ י ח מ ל מ ה ש ב ס י ו ם ט ר י ב י א ל י א ם s ע ם מ ק ו ר G כ י נ ו ב ע 1 1 ה א ל ג ו ר י ת ם ל א ו ר ך מ ת ק י י ם ב י צ ו ע א י ה א ל ג ו ר י ת ם ה ש ו ו י ו ן d[] v dist(, s v) ה ה פ ו ך( v dist(, s [] v צ ו מ ת ל כ ל d v dist(, s v ) = נ נ י ח ב ש ל י ל ה ש ק י י ם y ע ב ו ר ו ב ס י ו ם ה א ל ג ו ר י ת ם ע ב ו ר ו d[ y] > dist(, s y) א י א ז ק י י ם צ ו מ ת y dist ( s, y) = k מ ל מ ה 2 1 נ ו ב ע ש כ ל ה צ מ ת י ם x ע ב ו ר ם ע ב ו ר k מ י נ י מ א ל י א פ ש ר י ( ש י מ ו ל ב ש- k>0 ) א ל י ה ל פ ח ו ת א ח ד מ צ מ ת י ם א ל ו ה ו א ש כ ן ש ל y מ ב י ן כ ל ה צ מ ת י ם ה א ל ו, י ה י dist(, s x) k 1 ש ו ו י ו ן כ ז ה נ ו ת ר ה ו כ נ ס ו ל מ ח ס נ י ת ל פ נ י ש- y ה ו כ נ ס ע ל מ ס ל ו ל ק צ ר ב י ו ת ר מ- s ז ה ל- y ) x 0 ה צ ו מ ת ה ר א ש ו ן ש ה ו כ נ ס ל ת ו ר כ א ש ר ב ו צ ע ה ל ו ל א ת ה-, x 0 ה ת ב צ ע ה פ ע ו ל ת ה ע ד כ ו ן + 1 ] [ dx dy [ :[ = ו ה צ ו מ ת y ה ו כ נ ס ל מ ח ס נ י ת ב ז מ ן 0 while ע ב ו ר (y ]d [y = ]d x ] + 1 k = dist(, s כ מ ו כ ן ע ר כ ו ש ל d[y] ל א ה ש ת נ ה י ו ת ר ע ד ס י ו ם 0 ז ה ה ת ק י י ם ה א ל ג ו ר י ת ם ס ת י ר ה ל ה נ ח ת ה ש ל י ל ה ה ח ל ק ה ש נ י מ ו כ ח ג ם ה ו א ב א י נ ד ו ק צ י ה פ ש ו ט ה ע ל dist(, s v)

7 ח י פ ו ש ל ע ו מ ק (DFS) ה ו א ה ר צ א ה מ ס ' 2 ח י פ ו ש ל ע ו מ ק (DFS) - Depth First Search א ל ג ו ר י ת ם ח י פ ו ש ש ה ו ג ד ר ב צ ו ר ת ו ה נ ו כ ח י ת Hopcroft ב, 2 9 9 1 ע ל ס מ ך ט כ נ י ק ה ל " ה ל י כ ה ב מ ב ו ך " מ 8 8 1 ע ב ו ר ג ר ף ( מ כ ו ו ן א ו ל א מ כ ו ו ן ) G=(V,E), ה ר צ ת ע צ י ח י פ ו ש ז ר י ם ב צ מ ת י ם ט כ נ י ק ת ה א ל ג ו ר י ת ם : " ה ת ק ד מ ו ת ל ע ו מ ק " - ש ל 2 ע ל י ד י Tarjan ו ('E, F=(V ש ל Tremaux DFS ע ל G ת ח ז י ר י ע ר ה י ע ר F מ כ י ל א ת כ ל צ מ ת י ה ג ר ף ו E ' E כ א ש ר נ ב ק ר ב צ ו מ ת, u א ם י ש ק ש ת (u,v) ל צ ו מ ת v ש ע ו ד ל א נ ת ג ל ה נ ק ב ע ש u ה ו א א ב ש ל v ב ג ר ף, F נ ח צ ה א ת ה ק ש ת ו נ מ ש י ך א ת ה ח י פ ו ש מ- v א ם א י ן ק ש ת כ ז ו ו u א י נ נ ו ה ש ו ר ש ש ל ה ע ץ ה נ ו כ ח י, ה צ ו מ ת ש מ מ נ ו נ ע ש ה ה ח י פ ו ש נ ק ר א " מ ר כ ז ה פ ע י ל ו ת " נ י ס ו ג ל א ב י ו ש ל u DFS G= ( V, ק ל ט : ג ר ף ל א מ כ ו ו ן (E פ ל ט : י ע ר ס י מ ו ן : DFS ש ל G ו ג ם ל כ ל מ י מ ו ש ע ל v V י ד י מ ח ס נ י ת ז מ ן ה ג י ל ו י ש ל v k[ v] ז מ ן ה ג י ל ו י ש ל, v ה א ב ש ל v ב ע ץ ה DFS ו-[ v ]p for all v in V k[v] := 0 ; p[v] := nil; i := 0; while there is a vertex s with k(s) = 0 STACK := {s}; i := i+1; k[s] := i; While STACK u:= head(stack) ; if there is an edge (u,v) st k[v]=0 i := i+1; k[v] := i; p[v] := u ; push(stack,v) ; else pop(stack);

נ ו ב ע) ב) כ ל ו מ ר( 8 י ה י ה ג ר ף F=(V,E') ש נ ו צ ר ע ל י ד י ה ר צ ת ה א ל ג ו ר י ת ם ה ו א ה ג ר ף ה מ ו ר כ ב מ ה ק ש ת ו ת (p(u),u) כ ע ת נ ו כ י ח מ ס פ ר ת כ ו נ ו ת ש ל ה א ל ג ו ר י ת ם, ו ב מ י ו ח ד ש ג ר ף ז ה ה ו א י ע ר ה מ כ י ל א ת כ ל צ מ ת י ה ג ר ף א כ ל צ ו מ ת מ ו כ נ ס ל כ ל ה י ו ת ר פ ע ם א ח ת ל מ ח ס נ י ת ב א ם ה א ל ג ו ר י ת ם מ ס ת י י ם כ ל צ ו מ ת ש מ ו כ נ ס ל מ ח ס נ י ת מ ו צ א מ מ נ ה ה ו כ ח ה : א צ ו מ ת u מ ו כ נ ס ר ק א ם k(u)=0, ו ל א ח ר ש ה ו כ נ ס k(u) 0 ב נ ו ב ע מ כ ך ש ב ס י ו ם ה א ל ג ו ר י ת ם ה מ ח ס נ י ת ר י ק ה מ ס ק נ ה מ ל מ ה 2: 2 ה א ל ג ו ר י ת ם מ ס ת י י ם ל א ח ר ל כ ל ה י ו ת ר 2V א י ט ר צ י ו ת ש ל ל ו ל א ת הwhile ה פ נ י מ י ת ס ב ו כ י ו ת ה ז מ ן ש ל ו ה י א O(V+E) O(V) : פ ע ו ל ו ת pop ו, push ו( O(E ל צ ו ר ך ס ר י ק ת כ ל ש כ נ י ו ש ל כ ל צ ו מ ת ש ה ו כ נ ס ל מ ח ס נ י ת STACK = s = u0 u k [,, ] ת כ ן ה מ ח ס נ י ת ב ש ל ב מ ס ו י י ם ב ב י צ ו ע ה א ל ג ו ר י ת ם א ז u i ui = p[ u ל כ ל i=0,,k-1, מ ת ק י י ם [1 + i ה ו א א ב י ו ש ל ) ב י ע ר הDFS u 1+i א י נ ד ו ק צ י ה ע ל מ ס פ ר פ ע ו ל ו ת push ו pop ש מ ת ב צ ע ו ת ב מ ה ל ך ה א ל ג ו ר י ת ם מ ש מ ע ו ת ל מ ה 2 2 ה י א ש ב כ ל ש ל ב ב א ל ג ו ר י ת ם, ס ד ר ת ה צ מ ת י ם ה נ מ צ א י ם ב מ ח ס נ י ת מ ה ו ו ה מ ס ל ו ל מ כ ו ו ן ה מ ת ח י ל ב ש ו ר ש ה ע ץ ה נ ו כ ח י ו מ ס ת י י ם ב צ ו מ ת ה א ח ר ו ן ש ה ו כ נ ס ל מ ח ס נ י ת ה ק ש ת ו ת (p(u),u), ה ו א י ע ר מ כ ו ו ן ה מ כ י ל א ת כ ל צ מ ת י ה ג ר ף ה מ כ ו ו ן F ש ל ל מ ה 3: 3 ה ג ר ף ה ו כ ח ה : ת ה י U ק ב ו צ ת ה צ מ ת י ם ה מ ו כ נ ס ת ל מ ח ס נ י ת ב א י ט ר צ י ה א ח ת ש ל ל ו ל א ת הwhile ב ג ר ף F י ש מ ס ל ו ל מ כ ו ן מs ל כ ל ( א ) ה ח י צ ו נ י ת ( ש ב ת ח י ל ת ה צ ו מ ת s מ ו כ נ ס ל מ ח ס נ י ת ) צ ו מ ת ב U מ ל מ ה ) 2 2 ) לs י ש ד ר ג ת כ נ י ס ה 0 ו ל כ ל צ ו מ ת א ח ר בU י ש ד ר ג ת כ נ י ס ה 1 ת נ א י ם א ל ו מ ג ד י ר י ם ע ץ מ כ ו ו ן ש ש ר ש ו s מ א ח ר ו כ ל צ ו מ ת מ ו כ נ ס ל מ ח ס נ י ת ל כ ל ה י ו ת ר פ ע ם א ח ת, ה ע צ י ם ה מ ת ק ב ל י ם ה ם ז ר י ם ב צ מ ת י ם ה י ע ר מ כ י ל א ת כ ל צ מ ת י ה ג ר ף מ ש ו ם ש ה א ל ג ו ר י ת ם ע ו צ ר ר ק ל א ח ר ש כ ל ה צ מ ת י ם ה ו כ נ ס ו ל מ ח ס נ י ת ל מ ה 4: 4 v ה ו א צ א צ א ש ל u ב ג ר ף v F ה ו כ נ ס ל מ ח ס נ י ת כ א ש ר ה מ ח ס נ י ת ה כ י ל ה א ת u

ל ו ל א ה) ש א י נ ן, 9 P= ( s= v, v,, v = v) 0 1 k ת ה י ס ד ר ת ה צ מ ת י ם ב מ ח ס נ י ת כ א ש ר v ה ו כ נ ס ל מ ח ס נ י ת מ ל מ ו ת 2 2 ו 3 2 נ ו ב ע ש s ה ו א ה ש ו ר ש ש ל ה ע ץ T ה מ כ י ל א ת, v וP ה ו א ה מ ס ל ו ל ה י ח י ד מ s ל v ל כ ן u א ב ק ד מ ו ן ש ל v א ם ם u נ מ צ א ב P ב ד י ו ן ל ה ל ן, צ ו מ ת י י ק ר א ל ב ן ע ם ע ד י י ן ל א ה ו כ נ ס ל מ ח ס נ י ת א ם כ א ש ר u ה ו כ נ ס ל מ ח ס נ י ת ה י ה ב ג ר ף ה ק ל ט G מ ס ל ו ל (v ( =u u, u,, u = ש ל 0 1 k צ מ ת י ם ל ב נ י ם, א ז v ה ו א צ א צ א ש ל u ב ג ר ף F ה ו כ ח ה : ע ל ס מ ך ל מ ה, 4 2 י ס פ י ק ל ה ו כ י ח ש כ ל צ מ ת ב מ ס ל ו ל ה נ " ל ה ו כ נ ס ל מ ח ס נ י ת ל פ נ י ש u ה ו צ א מ ה מ ח ס נ י ת א ת ז ה מ ו כ י ח י ם ב א י נ ד ו ק צ י ה ע ל ס ד ר ה צ מ ת י ם ב מ ס ל ו ל, ע ל ס מ ך ה ע ו ב ד ה ש צ ו מ ת מ ו צ א מ ה מ ח ס נ י ת ר ק ל א ח ר ש כ ל ש כ נ י ו ה ו כ נ ס ו ל מ ח ס נ י ת ( ב ג ל ל ה פ ס ו ק if else באלגוריתם( כ א ש ר G ג ר ף ל א מ כ ו ו ן, י ע ר הDFS F=(V,E') ה מ ו ח ז ר ע ל י ד י ה א ל ג ו ר י ת ם מ ק י י ם א ת ת כ ו נ ת ה ק ש ת ה א ח ו ר י ת : ל כ ל ק ש ת (x,y) ב x, E ה ו א צ א צ א ש ל y ב F א ו ל ה פ ך ה ו כ ח ה : נ נ י ח ב ה כ ש x ה ת ג ל ה ( ה ו כ נ ס ל מ ח ס נ י ת ) ל פ נ י y א ז ה ק ש ת (x,y) מ ק י י מ ת א ת ה ה נ ח ה ש ל ל מ ה 5 2 ו ל כ ן y ה ו א צ א צ א ש ל x בF ה ג ד ר ה : ע ץ פ ו ר ש מ ו ש ר ש ש ל ג ר ף ל א מ כ ו ו ן ו ק ש י ר G ה מ ק י י ם א ת ת כ ו נ ת ה ק ש ת ה א ח ו ר י ת נ ק ר א ע ץ DFS ש ל G ס י ו ו ג ק ש ת ו ת DFS ע ל ג ר ף מ כ ו ו ן י ע ר DFS ע ל ג ר ף מ כ ו ו ן G=(V,E) מ ג ד י ר א ר ב ע ה ס ו ג י ק ש ת ו ת בE : u= ק ש ת ו ת עץ: (u,v) ק ש ת ע ץ א ם ם (v )p DFS u u ( u, v) ק ש ת ו ת א ח ו ר י ו ת : ק ש ת ב ע ץ ש ל ק ד מ ו ן ל א ב א ת ש מ ח ב ר ת ע צ מ י ת ת ח ש ב כ ק ש ת א ח ו ר י ת ) u u מ- ( u, v) ק ש ת ו ת ק ד מ י ו ת : ק ש ת ו ת ל צ א צ א ש ל ב ע ץ DFS ק ש ת ו ת ע ץ ק ש ו ת ו ת ח ו צ ו ת (cross( : כ ל ה ק ש ת ו ת ה א ח ר ו ת ב : G ק ש ת ו ת ב י ן צ מ ת י ם ב א ו ת ו ע ץ DFS ל ל א י ח ס א ב ק ד מ ו ן צ א צ א, א ו ק ש ת ו ת ב י ן ע צ י DFS ש ו נ י ם

מ ן) ש י ס ו מ ן, פ ר מ ו ט צ י ה () 0 1 ה ר צ א ה מ ס ' 3 שימוש בDFS מציאת רכיבים קשירים היטב: בגרף מכוון G= ( V, E) ( ר ק " ה ה י ט ב ק ש י ר ר כ י ב ה ג ד ר ה : מ כ ו ו ן ב ג ר ף ב ק י צ ו ר ) ש ל מ ק ס י מ ל י ת ק ב ' ה ו א ל- u ב- צ מ ת י ם C כ ך ש ל כ ל ז ו ג צ מ ת י ם י ש מ ס ל ו ל י ם מ כ ו ו נ י ם מ- v ל- ו מ- u C ב- u, v V v ד ו ג מ ה : ב ג ר ף מ כ ו ו ן א צ י ק ל י ( ח ס ר מ ע ג ל י ם מ כ ו ו נ י ם ) כ ל צ ו מ ת ה ו א ר ק " ה נ ג ד י ר י ח ס " ח ב ר ו ת " ב י ן צ מ ת י ם : u ח ב ר ש ל v א ם u ו v נ מ צ א י ם ב א ו ת ו ר ק " ה י ח ס ה ח ב ר ו ת ה ו א י ח ס ש ק י ל ו ת ( ר פ ל ק ס י ב י, ס י מ ט ר י, ט ר נ ס י ט י ב י ) מ כ א ן ש ה ו א מ ח ל ק א ת צ מ ת י ה ג ר ף ל ק ב ו צ ו ת ז ר ו ת ו מ ש ל י מ ו ת כ ל ק ב ו צ ה כ ז ו מ ש ר ה ר ק " ה ש ל ה ג ר ף ) C= VC, C =Φ i i j ה ג ד ר ה: נ נ י ח ש ה ר ק " ה ב- G ה ם,, 1 C ה נ כ ת ב ל ע י ל Ck, מ ו ג ד ר ב א ו פ ן ה ב א G* = ( V*, E*) ג ר ף ה ר כ י ב י ם ק ש י ר י ם ה י ט ב ש ל G V = v1 v k * {,, } E* = {( v, v ) : i j C j C i ק ש ת ש י ו צ א ת מ צ ו מ ת ב- א ל צ ו מ ת ב- { י ש בE מ ט ר ת נ ו ל מ צ ו א א ל ג ו ר י ת ם י ע י ל ל מ צ י א ת ג ר ף ה ר ק " ה ש ל ג ר ף נ ת ו ן G ה ר ע י ו ן ה ו א ל ק ב ו ע ס ד ר π ע ל ה צ מ ת י ם ש ל G כ ך ש כ א ש ר ס ד ר ה כ נ ס ת ה צ מ ת י ם ל מ ח ס נ י ת ר י ק ה ( ב ל ו ל א ת ה while ה ח י צ ו נ י ת ) נ ק ב ע ע ל פ י π, י ו ח ז ר ו כ ל ה ר ק " ה ש ל G ה ד י ו ן ל ה ל ן מ ת י י ח ס ל ג ר ף מ כ ו ו ן G=(V,E) כ ל ש ה ו ה ג ד ר ה: ה ג ר ף ה ה פ כ י ש ל ג ר ף ל T, ה ו א ה ג ר ף G G= ( V, E) G T T ה ק ש ת ו ת ב, G כ ל ו מ ר : ) E (,V = T G ו לG י ש א ו ת ם ר ק " ה ג ר ף ה ר ק " ה *G ה ו א א צ י ק ל י T כ א ש ר E}: E = {( vu, ) : ( uv, ) ה מ ת ק ב ל ע " י ה פ י כ ת כ י ו ו נ י הוכחה: ב ש ל י ל ה א ם ק י י ם ב* G מ ע ג ל ה מ כ י ל ל פ ח ו ת ש נ י צ מ ת י ם ה מ י י צ ג י ם ש נ י ר ק " ה C ו

נ ס מ ן) ב כ ל) 1 1 ה 'C ו C א ז ק י י ם מ ס ל ו ל מ כ ו ו ן ב י ן כ ל ז ו ג צ מ ת י ם ב, 'C ר ק " ה ס ת י ר ה ל ה נ ח ה ש ה ם ש נ י ר ק " ה ש ו נ י ם כ י ו ו ן ), ו ל כ ן C ו 'C מ ו כ ל י ם ב א ו ת ו ב כ ל ר י צ ת א ל ג ו ר י ת ם, DFS כ ל ר כ י ב ק ש י ר ה י ט ב, C, מ ו כ ל ב מ ל ו א ו ב א ח ד מ ע צ י DFS ש ה א ל ג ו ר י ת ם מ ח ז י ר ע " ס ל מ ה, 25 ה צ ו מ ת ה ר א ש ו ן מ C ש מ ו כ נ ס ל מ ח ס נ י ת י ה י ה א ב ק ד מ ו ן ב ע ץ הDFS ש ל כ ל ה צ מ ת י ם ה א ח ר י ם מ C כ נ כ ת ב ל ע י ל, ה פ ל ט ש ל ר י צ ת מ ש ת מ ש ה א ל ג ו ר י ת ם כ ע ת נ א פ י י ן ת ח ז י ר ר ק " ה י ח י ד ה ג ד ר ה : ר ק " ה C ג ד ו ל מ ר ק " ה 'C ב 'C ת ה י DFS ע ל ג ר ף G ת ל ו י ב פ ר מ ו ט צ י ה ש ל ה צ מ ת י ם ב V ב ה פ ר מ ו ט צ י ו ת ה מ ב ט י ח ו ת ש כ ל א י ט ר צ י ה ש ל ה א ל ג ו ר י ת ם 'C ) C < א ם ק י י ם מ ס ל ו ל מ כ ו ו ן מ צ מ ת ב C ל צ מ ת π = π1 π n (,, ) ה צ ו מ ת ה ר א ש ו ן ש ל ה ג ד ר ה: פ ר מ ו ט צ י ה ש ל V נ ג י ד ש ר ק " ה C מ ו פ י ע π ב C מ ו פ י ע ב π ל פ נ י ה צ ו מ ת ה ר א ש ו ן ש ל C' ל פ נ י ר ק " ה 'C א ם פ ר מ ו ט צ י ה π ש ל צ מ ת י V ת י ק ר א כ ש ר ה א ם ה י א מ ק י י מ ת א ת ה ת נ א י ה ב א : ר ק " ה, 'C, C א ם C<C' א ז C מ ו פ י ע π ב ד ו ג מ ה : א ם ה ג ר ף ה ו א מ ס ל ו ל מ כ ו ו ן ו ה פ ר מ ו ט צ י ה ה כ ש ר ה ה י ח י ד ה ה י א ה א ל ג ו ר י ת ם נ נ י ח ש ה ר צ נ ו א ל ג ו ר י ת ם ה ו א פ ר מ ו ט צ י ה ה מ כ י ל א ת ה צ מ ת י ם ש ל ר ק " ה ל פ נ י 'C (n 2 1), א ז כ ל ר ק " ה מ כ י ל צ ו מ ת ב ו ד ד )1 א ח ר ו ן, n ר א ש ו ן ) ( n, n 1,,2,1) DFS ע ל ג ר ף מ כ ו ו ן, כ ך ש ס ד ר ה צ מ ת י ם ב ב י צ ו ע : י ה י s C ה ר ק " ה ש ל, s ו י ה י ל כ ל ז ו ג כ ש ר ה π א ז כ ל ב י צ ו ע ש ל ל ו ל א ת הwhile ה ח י צ ו נ י ת מ ח ז י ר ע ץ י ח י ד ש ל G ה צ ו מ ת ה ר א ש ו ן ש ה ו כ נ ס ל מ ח ס נ י ת ב ב י צ ו ע ש ל ל ו ל א ת הwhile ה ח י צ ו נ י ת, י ה י T ע ץ ה DFS ה מ ו ח ז ר ע " י ב י צ ו ע ה ל ו ל א ה מ ל מ ה 3 3 נ ו ב ע ש כ ל צ מ ת י C נ מ צ א י ם ב, T ל כ ן י ס פ י ק ל ה ו כ י ח ש א ף צ ו מ ת א ח ר ל א נ מ צ א ב T: מ א ח ר ו π פ ר מ ו ט צ י ה כ ש ר ה, כ ל צ ו מ ת u ב ר ה ש ג ה מ s ש א י נ ו ב C ש י י ך ל ר ק " ה ש מ ו פ י ע ל פ נ י, C ו ל כ ן ( ע " ס ל מ ה ) 3 3 ה ו כ נ ס ל מ ח ס נ י ת ל פ נ י, s ו ל כ ן ( ע " ס ל מ ה ) 4 2 א י נ ו צ א צ א ש ל, s ו ל א מ ו פ י ע ב T

ר א ו) ק י י ם) כ י) ז מ ן) 2 1 מ ס ק נ ה כ ד י ל מ צ ו א א ת כ ל ה ר ק " ה ש ל ג ר ף, G מ ס פ י ק ל מ צ א פ ר מ ו ט צ י ה כ ש י ר ה ש ל צ מ ת י G ו ל ה ר י ץ ע ל י ה DFS ה א ל ג ו ר י ת ם ש נ צ י ג מ ש ת מ ש ב G T כ ד י ל מ צ א פ ר מ ו ט צ י ה כ ש ר ה ש ל ה ג ר ף ה ה פ כ י DFS ס מ ך ט ע נ ה 1 3 מ ו ר כ ב מ א ו ת ם ר ק " ה ש ל G ה א ל ג ו ר י ת ם מ ת ב ס ס ע ל ה ל מ ה ה ב א ה : ה ו צ א ש ה ו ר ץ נ נ י ח DFS ע ל G ל כ ל צ ו מ ת u נ ג ד י ר f[u] ) u ש ל ה ס י ו ם u מ ה מ ח ס נ י ת ה י א פ ר מ ו ט צ י ה כ ש ר ה ש ל ש ע ל, ב ו כ ז מ ן ה פ ר מ ו ט צ י ה π ה מ ת ק ב ל ת ע ל י ד י ס י ד ו ר ה צ מ ת י ם ל פ י ס ד ר יורד של f[u] T G T ל G ו ל G י ש א ו ת ם ר ק " ה א ך ה ס ד ר ב י נ י הם מ ת ה פ ך ל כ ן צ ר י ך ל ה ו כ י ח כ י א ם ב מ ת ק י י ם ש 'C C > א ז ה צ מ ת ה ר א ש ו ן מ C מ ו פ י ע ב π ל פ נ י ה צ ו מ ת ה ר א ש ו ן מ 'C י ה י ו s ו 's ה צ מ ת י ם ה ר א ש ו נ י ם מ C',C ש ה ו כ נ ס ו ל מ ח ס נ י ת ב ה ת א מ ה G 's ה ו צ א מ ה מ ח ס נ י ת א ח ר י s כ ל ו מ ר ש, f[s] > f[s'] י ה י א ב P מ כ ל ש ה ו מ ס ל ו ל s ל 's ש ה ו כ נ ס ל מ ח ס נ י ת נ ב ד י ל ב י ן ש נ י מ ק ר י ם : כ ז ה מ ס ל ו ל כ י C' ) C > י ה י x ע ל פ י ה ג ד ר ת, π צ ל כ י ה צ ו מ ת P ב ה ר א ש ו ן x=s א ז כ א ש ר s ה ו כ נ ס ל מ ח ס נ י ת כ ל ש א ר ה צ מ ת י ם ב P ה י ו ל ב נ י ם ו ל כ ן 's ה ו כ נ ס ו ה ו צ א מ ה מ ח ס נ י ת ל פ נ י ש s ה ו צ א מ מ נ ה ( ב ד ו מ ה ל ה ו כ ח ה ש ל ל מ ה ) 5 2 x s ב מ ק ר ה ז ה x ב א י נ נ ו s ה צ ו מ ת ה ו א C ש ה ו כ נ ס C מ ה ר א ש ו ן x ו ל מ ח ס נ י ת, ה ו כ נ ס ל פ נ י ) s, ו ל כ ן א י ן מ ס ל ו ל מ כ ו ו ן מ x ל, s בעוד שיש מ ס ל ו ל מכוון של צ מ ת י ם ל ב נ י ם מ x ל 's ו ח ו מ ר צ י ו ר ) מ כ א ן ש ל פ נ י ש s ה ו צ א מ ה מ ח ס נ י ת ) 's ה ו כ נ ס ו ה ו צ א מ ה מ ח ס נ י ת ל פ נ י ש s ה ו כ נ ס ל מ ח ס נ י ת ( ק ל צ מ ת י ם ל ב נ י ם C C s x P s' C C'

ס י ב ו כ י ו ת) ש י מ ו ל מ ה) ט ע נ ה) 3 3 ה א ל ג ו ר י ת ם ה מ ש ת מ ע מ ה נ כ ת ב ל ע י ל ה ו א : Strongly_Connected_Components(G): א ל ג ו ר י ת ם ל מ צ י א ת ר כ י ב י ם ק ש י ר י ם ה י ט ב (1) Call DFS(G) to compute f[u] for all u in V (2) Compute G T (3) Call DFS( G T ) on the vertices ordered in decreasing order of f[u] (as computed in (1)) (4) output the vertices in each DFS tree generated in (3) ז מ ן ר י צ ה ) DFS ( + E) ז מ ן ה ר י צ ה ה ו א OV ל ב ש ל צ ו ר ך ש ל ב )3 ) צ ר י ך ל ש מ ו ר א ת צ מ ת י G ב ס ד ר י ו ר ד ש ל ע ר כ י נ כ ו נ ו ת f [ u] ב ז מ ן ש ה ם מ ח ו ש ב י ם ת ה י π הפרמוטציה של הצמתים שנקבעת ע " י ס ד ר יורד של f[v] מ ל מ ה 5 3 נ ו ב ע ש π ה י א ע ב ו ר כ ש ר ה T ו ל כ ן, G ה ר כ י ב י ם ה ק ש י ר י ם ש ל ג ר ף א ת ל ב נ ו ת כ ד י מ צ ו מ ת ב C i ל צ ו מ ת ב ה א ל ג ו ר י ת ם ה ר כ י ב י ם א ת מ ח ז י ר ש ל ה ק ש י ר י ם, ) 4 3 T G ) 1 3 G ה ק ש ת ו ת ע ל ל ע ב ו ר א פ ש ר ש ל G ה ר ק " ה ש ל, G C j ) v ( v, ק ש ת ל ה ו ס י ף, i j ל *E ק ש ת י ש ו א ם ש ה ם מ כ ו ו נ ת

4 1 הרצאה מס ' 3 אלטרנטיבית מ צ י א ת צ מ ת י ה פ ר ד ה ו ר כ י ב י ם א י פ ר י ק י ם ה ה ר צ א ה ע ו ס ק ת ב א פ ל י ק צ י ה ש ל DFS ל א ו ר ך כ ל ה ה ר צ א ה נ נ י ח ש G=(V,E) ה ו א ג ר ף ל א מ כ ו ו ן ו ק ש י ר, א ל א א ם נ א מ ר ב מ פ ו ר ש א ח ר ת נ פ ת ח ב מ ס פ ר הגדרות צ ו מ ת ה פ ר ד ה vertex) (separating : י ה י G=(V,E) ג ר ף נ ת ו ן v V ה ו א צ ו מ ת ה פ ר ד ה א ם ק י י מ י ם צ מ ת י ם u,w כ ך ש כ ל מ ס ל ו ל מ u לw ע ו ב ר ב v ג ר ף פ ר י ק : ג ר ף ה מ כ י ל צ ו מ ת ה פ ר ד ה U, ת ת ה ג ר ף ה מ ו ש ר ה ע " י, G(U) U V ת ת ג ר ף מ ו ש ר ה : ת ה י מ ו ג ד ר ע " י : GU = ( UE, '), where E' = {( xy, ) : xy, U,( xy, ) E} ר כ י ב א י פ ר י ק component) :(irreducible ת ת ג ר ף מ ו ש ר ה G(U) ה ו א ר כ י ב א י פ ר י ק ש ל G א ם ה ו א א י פ ר י ק ו כ ל ת ת ג ר ף מ ו ש ר ה ש מ כ י ל א ת (U )G ה ו א פ ר י ק ה ג ד ר ה : י ה י T=(V,E) ע ץ מ כ ו ו ן ו י ה י T(v) v V ה ו א ת ת ה ע ץ ש ל T ה מ ו ש ר ה ע ל י ד י v ו כ ל צ א צ א י ו ש ל v ב T ו ש י מ ל ב ש v ה ו א ה ש ר ש ש ל T(v) ה ג ד ר ה : י ה י T ע ץ DFS ש ל G=(V,E) ו u V ק ש ת (v,w) E ע ו ק פ ת א ת u א ם v צ א צ א א מ י ת י ש ל u וw א ב ק ד מ ו ן א מ י ת י ש ל u ב ע ץ T ( ש י מ ו ל ב ש ק ש ת ע ו ק פ ת ה י א ק ש ת א ח ו ר י ת ב ה כ ר ח ) : י ה י T ע ץ DFS ש ל G צ מ ת u ה ו א צ מ ת ה פ ר ד ה ב G א ם ם מ ת ק י י ם א ח ד מ ה ת נ א י ם ה ב א י ם : 1 u ה ו א ה ש ר ש ש ל T ו י ש ל ו י ו ת ר מ ב ן א ח ד u ע ו ק פ ת א ת ו כ ך ש ל א ק י י מ ת ק ש ת ה י ו צ א ת מ צ ו מ ת ב( T(v v ב ן u א י נ נ ו ה ש ר ש, ו י ש ל u 2 ה ו כ ח ה : 1 מ א ח ר ו ב ע ץ DFS א י ן ק ש ת ו ת ח ו צ ו ת, כ ל מ ס ל ו ל ב י ן ש נ י ב נ י ם ש ו נ י ם ש ל s ח י י ב ל ע ב ו ר ד ר ך s מ צ ד ש נ י, א ם לs י ש ר ק ב ן א ח ד, ה ר י ק י י ם מ ס ל ו ל ב י ן כ ל ש נ י צ מ ת י ם ה מ ש ת מ ש ר ק ב ק ש ת ו ת ע ץ ו א י נ ו ע ו ב ר ד ר ך s 2 א ם ל א ק י י מ ת ק ש ת א ח ו ר י ת מ צ ו מ ת ב( T(v ה ע ו ק פ ת א ת, u כ ל מ ס ל ו ל מ v ל s ח י י ב ל ע ב ו ר ד ר ך )u u ה י נ ו ה צ ו מ ת ה ר א ש ו ן ב מ ס ל ו ל כ ז ה ש א י נ נ ו ש י י ך ל( T(v ), ו ל כ ן u צ מ ת ה פ ר ד ה מ צ ד ש נ י, א ם ל כ ל ב ן v ש ל u ק י י מ ת ק ש ת א ח ו ר י ת כ נ " ל, ה ר י ש נ י ת ן ל ה ג י ע מ כ ל צ מ ת {u a V }\ ל ש ר ש s ב ל י ל ע ב ו ר ד ר ך, u ו ל כ ן ב י ן כ ל ש נ י צ מ ת י ם י ש מ ס ל ו ל ש א י נ ו ע ו ב ר ד ר ך u ל כ ן u א י נ ו צ ו מ ת ה פ ר ד ה

ק י י מ ת] ס ע י ף () 2 5 1 כ ד י ל ב ד ו ק א ם ת נ א י 2 ש ל ל מ ה 6 3 מ ת ק י י ם, מ ח ש ב י ם ל כ ל צ ו מ ת u א ת L(u), ה lowpoint ש ל, u ה מ ו ג ד ר ל ה ל ן : L( u) min{ kv :[ v= u] OR [ there is a back edge from a vertex in Tu to v]} ל מ ה : 7 7 י ה י u צ מ ת ש א י נ ו ש ר ש ו י ה י v ב ן ש ל u א ז י : ק ש ת ה י ו צ א ת מ צ ו מ ת ב T(v) ו ע ו ק פ ת א ת ] u א ם ם [ (u ] )L (v < )k ה ו כ ח ה: נ נ י ח ש ק י י מ ת ק ש ת ( x, y) ה י ו צ א ת מ צ ו מ ת x ב T(v) ו ע ו ק פ ת א ת u א ז ק ד מ ו ן ש ל u מ ה ג ד ר ת L(u) מ ק ב ל י ם : ) ( ku Lu )k (y < מ צ ד ש נ י, א ם (u )L (v < )k א ז ק י י מ ת ק ש ת מ צ מ ת ב T(v) ל צ מ ת y כ ך ש מ א ח ר ו ה ק ש ת ה י א ק ש ת א ח ו ר י ת, y ב ה כ ר ח א ב ק ד מ ו ן ש ל u y ה ו א א ב ky < ku ל מ ה : 8 8 א ם u א י נ נ ו ה ש ר ש, s ] Lv () ku () א ז ]u צ ו מ ת ה פ ר ד ה ] [ ק י י ם ב ן v ש ל u כ ך ש ה ו כ ח ה : מ ל מ ה, 7 3 ה ת נ א י ב צ ד ש מ א ל א ו מ ר ש ל א ק י י מ ת ק ש ת ה י ו צ א ת מ T(v) ו ע ו ק פ ת א ת u ע " ס ל מ ה 6 3 ז ה ש ק ו ל ל כ ך ש u צ מ ת ה פ ר ד ה ל כ ל צ מ ת u מ ת ק י י ם ה ש ו ו י ו ן : [ ] Lu = min { ku } { kv : ( uv, ) is a back edge} { Lv : vis a child of uin T} ה ו כ ח ה : ע ל פ י ה ה ג ד ר ה ש ל L(u)

6 1 L(v), v ה א ב ש ל p[v] א ל ג ו ר י ת ם ל מ צ י א ת צ מ ת י ה פ ר ד ה ע " י DFS ק ל ט : ג ר ף ל א מ כ ו ו ן ו ק ש י ר G=(V,E) ו צ ו מ ת s פ ל ט : ע ץ DFS ש ל G ע ם ש ו ר ש, s ו צ מ ת י ה ה פ ר ד ה ש ל G ה א ל ג ו ר י ת ם מ ש ת מ ש ב מ ש ת נ י ם ה ב א י ם : -k[v] ז מ ן ה ג י ל ו י ש ל, v ע ר ך ה lowpoint ש ל v for all v in V k[v] := 0, p[v] := nil, L(v):= for all e in E mark e "new" STACK:={s}, i:= 1, k[s]:=1, L[s]:=1 While STACK u:= head(stack) if there is an edge e=(u,v) marked "new" mark e "used" if k[v]=0 i:=i+1, k[v]:=i, L(v):=i, p[v]:=u, push(stack,v) else \*k[v]>0, ie (u,v) is back-edge (a) L[u]:=min{L[u],k[v]} else \* all edges leaving u are "used" if (u s) if ( p[u] s & L[u] k[p[u]] ) mark p[u] as separating vertex if ( p[u]=s & s has a "new" edge ) mark s as separating vertex (b) L[p[u]]:=min{L[p[u]],L[u]} pop(stack)

ז מ ן) ה) 7 1 ל מ ה 0: 1 0 ה א ל ג ו ר י ת ם ל ע י ל מ ו צ א א ת צ מ ת י ה ה פ ר ד ה ש ל G ת ק צ י ר ה ו כ ח ה: מ ו כ י ח י ם ב א י נ ד ו ק צ י ה ע ל מ ס פ ר פ ע ו ל ו ת ה מ ח ס נ י ת א ת ה ט ע נ ה ה ב א ה : ה ע ד כ ו נ י ם ב ש ו ר ו ת (a) (b), מ ב ט י ח י ם ש ל כ ל צ ו מ ת, u כ א ש ר u מ ו צ א מ ה מ ח ס נ י ת ה ע ר ך L(u) ש ח ו ש ב ע ל י ד י ה א ל ג ו ר י ת ם ה ו א ה ע ר ך ה נ כ ו ן ש ל מ ש ת מ ש ת ב ל מ ה 9 3 מ כ א ן נ ו ב ע ( ע ל ס מ ך ל מ ה 6)1 3 ) ו ל מ ה 8 3 כvertex separating א ם ם ה ו א צ ו מ ת ה פ ר ד ה ג ר ף ה ר כ י ב י ם ה א י פ ר י ק י ם ש ל G: H = ( X, E ') ש צ מ ת( (u lowpoint( ה ו כ ח ת צ ע ד ה א י נ ד ו ק צ י ה מ ו ג ד ר ע ל י ד י : X = { u: u is a separating vertex} { C: C is an irreducible component} E' = {( uc, ) : u C} מ ס ו מ ן H א י נ ו י כ ו ל ל ה כ י ל צ מ ת י ה פ ר ד ה ט ע נ ה : H ה ו א ע ץ ל א מ כ ו ו ן ת ק צ י ר ה ה ו כ ח ה : ע ל ס מ ך ז ה ש מ ע ג ל ב כ ע ת נ צ י ג א ל ג ו ר י ת ם ה מ ח ז י ר ר כ י ב י ם א י פ ר י ק י ם ב ז מ ן O(V) ע ל י ד י ש י מ ו ש ב פ ל ט ש ל ה א ל ג ו ר י ת ם ל מ צ י א ת צ מ ת י ה פ ר ד ה ה א ל ג ו ר י ת ם ס ו ר ק א ת ע ץ הDFS ש ה ו ח ז ר, ו מ כ נ י ס ל מ ח ס נ י ת כ ל צ מ ת ש מ ת ג ל ה ( ב ד ו מ ה ל ) DFS כ א ש ר ה א ל ג ו ר י ת ם מ ת ק ד ם ל צ מ ת v ב ע ץ, ה ו א ב ו ד ק א ם מ ת ק י י ם א ח ד ה ת נ א י ם ע ל פ י ה ם p(v) ה ו א צ ו מ ת ה פ ר ד ה, ו א ם p(v) צ מ ת ה פ ר ד ה ה ו א מ ס מ ן א ת v כ א ש ר ה א ל ג ו ר י ת ם נ ס ו ג מ צ ו מ ת מ ס ו מ ן v ה ו א : א מ ו צ י א מ ה מ ח ס נ י ת א ת v ו כ ל ה צ מ ת י ם ש מ ע ל י ו ; ב ר ו ש ם ר כ י ב א י פ ר י ק ה מ כ י ל א ת p(v) ו א ת כ ל ה צ מ ת י ם ש ה ו צ א ו מ ה מ ח ס נ י ת א ל ג ו ר י ת ם ל ר כ י ב י ם א י פ ר י ק י ם ק ל ט : ע ץ מ כ ו ו ן T ע ם ש ר ש s א, ש ה ו ו[ L[u lowpoint ש ל u ו( ש ה ו ח ז ר פ ל ט : ה ר כ י ב י ם ה א י פ ר י ק י ם ש ל G ע ץ DFS ש ל, G ו ע ר כ י k[u] ה ג י ל ו י ש ל ) u ע " י ה א ל ג ו ר י ת ם ל מ צ י א ת צ מ ת י ה פ ר ד ה ה א ל ג ו ר י ת ם ( ב ע מ ו ד ה ב א ) מ ש ת מ ש ב מ ח ס נ י ת STK ל צ ו ר ך ב נ י ת ה ר כ י ב י ם ה א י פ ר י ק י ם p[u] ה ו א ה א ב ש ל u בT צ מ ת v מ ס ו מ ן special א ם p[v] ה ו א צ מ ת ה מ פ ר י ד א ת v ו כ ל צ א צ א י ו מ ש א ר צ מ ת י ה ג ר ף

8 1 mark all vertices of T "new" STK :={s}, u:=s, while STK if u has a "new" child v mark v "used"; push(s, v) if u s & L[v] k[u] mark v "special" if u=s and s has another "new" child mark v "special" u:=v else \* all children of u are used if u s if u is marked "special" Let C be u and all the vertices above u in STK; Remove C from STK and declare C {p[u]} an irreducible component u:=p[u] else \* u=s declare all the vertices in STK irreducible component, and remove them from STK כ ד י ל ה ח ז י ר א ת גרף הרכיבים ה א י פ ר י ק י ם, H נ י ת ן ל ח ש ב ב ז מ ן ל י נ א ר י א ת ה ק ש ת ו ת ב H מ ר ש י מ ת ה צ מ ת י ם ב ר כ י ב י ם ה א י פ ר י ק י ם

כ ל ל) כ ל ל) 9 1 ה ר צ א ה מ ס ' 4 ע צ י ם פ ו ר ש י ם מ י נ י מ א ל י ם Trees) (Minimum Spanning ג ר ף מ מ ו ש ק ל graph) (weighted ה ו א ג ר ף ש ב ו ל כ ל ק ש ת e י ש מ ש ק ל w( e) X כ ז כ ו ר, ע ץ פ ו ר ש ש ל ג ר ף ל א מ כ ו ו ן ו ק ש י ר G=(V,E) ה ו א ת ת ג ר ף ש ל G ש ה ו א ע ץ ה מ כ י ל א ת כ ל צ מ ת י G מ ש ק ל ש ל ע ץ פ ו ר ש ש ל ג ר ף מ מ ו ש ק ל ה ו א ס כ ו ם מ ש ק ל י ק ש ת ו ת י ו : wt = we e T ב ע י ת ע פ " מ : ק ל ט : ג ר ף מ מ ו ש ק ל, פ ש ו ט, ל א מ כ ו ו ן ו ק ש י ר G=(V,E) פ ל ט : ע ץ פ ו ר ש ש ל G ב ע ל מ ש ק ל מ י נ י מ א ל י אפשרי א ל ג ו ר י ת ם ג נ ר י ל מ צ י א ת ע פ " מ =G ה ו א חלוקה של ( V, ה ג ד ר ה : ח ת ך (cut) ב ג ר ף (E V ל ש ת י ק ב ו צ ו ת ז ר ו ת ו ל א ר י ק ו ת ו- י ה י V\X ו ה ק צ ה ה ש נ י ב X ש ק צ ה א ח ד ש ל ה ן ב E ק ש ת ו ת ה ח ת ך ה ן ה ק ש ת ו ת ב V \ X ל ה ל ן ש נ י ק ש ר י ם ב ס י ס י י ם ב י ן ע צ י ם פ ו ר ש י ם, מ ע ג ל י ם ו ח ת כ י ם, ע ל י ה ם מ ס ת מ ך ה א ל ג ו ר י ת ם : T מ ע ג ל ( פ ש ו ט ) י ח י ד T ל ש נ י ת ת י ע צ י ם, ש צ ו מ ת י הם מ ה ו ו י ם ח ל ו ק ה ש ל צ מ ת י G ע ץ פ ו ר ש ש ל T )1 ) ה ו ס פ ת ק ש ת ל T ת י צ ו ר ב )2 ) ה ס ר ת ק ש ת e מ T מ ח ל ק ת א ת ה ג ר ף ק ש ת ו ת ה ח ת ך ה מ ו ג ד ר ע ל י ד י ח ל ו ק ה ז ו מ כ י ל ו ת א ת e ו א י נ ן מ כ י ל ו ת ק ש ת א ח ר ת ש ל T ה ו כ ח ה : ת ר ג י ל פ ש ו ט ל ב י ת כ ע ת נ צ י ג א ל ג ו ר י ת ם ג נ ר י ל ע פ " מ ה א ל ג ו ר י ת ם ב ו נ ה א ת ה ע פ " מ ב כ ל פ ע ו ל ה מ ו ס י פ י ם ק ש ת " ק ל ה " לT א ד ו ם ) כ ח ו ל ) א ו פ ו ס ל י ם ק ש ת T על י ד י ס ד ר ה ש ל פ ע ו ל ו ת : " כ ב ד ה " מ ל ה י ו ת ב T

2 2 האלגוריתם הגנרי לעפ " מ Generic MST Algorithm ה כ ל ל ה א ד ו ם ( ל ק ש ת ו ת כ ב ד ו ת(: C ת נ א י : ב G ק י י ם מ ע ג ל ח ס ר ק ש ת ו ת א ד ו מ ו ת, צ ב ו ע ה ל א ק ש ת ה י א וe ב ע ל ת C מ ש ק ל מ ק ס י מ א ל י ( מ ב י ן ה ק ש ת ו ת ה ל א צ ב ו ע ו ת ) ב e פ ע ו ל ה : א ת צ ב ע ב א ד ו ם ה כ ל ל ה כ ח ו ל ( ל ק ש ת ו ת ק ל ו ת ) : D G ת נ א י : ח ת ך ב ק י י ם ח ס ר ק ש ת ו ת כ ח ו ל ו ת, צ ב ו ע ה ל א ק ש ת ה י א וe ב ע ל ת D מ ש ק ל מ י נ י מ א ל י ( מ ב י ן ה ק ש ת ו ת ה ל א צ ב ו ע ו ת ) ב e פ ע ו ל ה : א ת צ ב ע ב כ ח ו ל ה א ל ג ו ר י ת ם ה ג נ ר י : ק ש ת ב ח ר כ ל ש ה י ע ל י ה נ י ת ן ל ה פ ע י ל ה כ ל ל א ת ה כ ל ל א ו ה א ד ו ם ה כ ח ו ל, ו ה פ ע ל ע צ ו ר ז ה כ ל ל כ ז ו ק ש ת בG א י ן כ א ש ר ל מ ה 4: 4 ה א ל ג ו ר י ת ם ה ג נ ר י מ ס ת י י ם ל א ח ר E צ ע ד י ם, כ א ש ר כ ל ה ק ש ת ו ת צ ב ו ע ו ת הוכחה: מ א ח ר ו ב כ ל צ ע ד נ צ ב ע ת ק ש ת, ה א ל ג ו ר י ת ם מ ס ת י י ם ל א ח ר ל כ ל ה י ו ת ר ל ה ו כ י ח ש ב ס י ו ם ה א ל ג ו ר י ת ם כ ל ה ק ש ת ו ת צ ב ו ע ו ת, נ ו כ י ח כ י כ ל ז מ ן ש י ש ב ג ר ף ק ש ת צ ב ו ע ה, נ י ת ן ל צ ב ו ע ק ש ת ע ל פ י א ח ד ה כ ל ל י ם =e ה י א ק ש ת ל א צ ב ו ע ה נ נ י ח כ י (,) u v נ ב ח י ן ב י ן 2 מ ק ר י ם : E צ ע ד י ם כ ד י ק י י ם מ ס ל ו ל כ ח ו ל ב י ן u ל v י ה י C ה מ ע ג ל ה נ ו צ ר ע ל י ד י ה ו ס פ ת e ל מ ס ל ו ל א ת e ע ל פ י ה כ ל ל ה א ד ו ם ל א ק י י ם מ ס ל ו ל כ ח ו ל מ u ל v ה ח ת ך ה מ ו ג ד ר ע ל י ד י X ת ה י V \ X ו X א ת א ח ת מ ק ש ת ו ת י ו ע ל פ י ה כ ל ל ה כ ח ו ל ל א נ י ת ן ל צ ב ו ע ק ב ו צ ת הצמתים שיש א ל י ה ם מ ס ל ו ל כ ח ו ל מ u מ כ י ל א ת e ו א י ן ב ו ק ש ת ו ת כ ח ו ל ו ת ל כ ן נ י ת ן ל צ ב ו ע כ ע ת נ ו כ י ח ש כ א ש ר ה א ל ג ו ר י ת ם מ ס ת י י ם ה ק ש ת ו ת ה כ ח ו ל ו ת ח י י ב ו ת ל ה י ו ת ע פ " מ ה ג ד ר ה : ג ר ף G ש ח ל ק מ ק ש ת ו ת י ו כ ח ו ל ו ת ו ח ל ק א ח ר א ד ו מ ו ת מ ק י י ם א ת שמורת ה צ ב ע א ם ם ק י י ם בG ע פ " מ ש מ כ י ל א ת כ ל ה ק ש ת ו ת ה כ ח ו ל ו ת ו א ף א חת מ ה ק ש ת ו ת ה א ד ו מ ו ת

ש ק ש ת ו ת י ו) כ י) ל מ ה) ל מ ה) 1 2 ל מ ה 3: 4 ב כ ל ב י צ ו ע ש ל ה א ל ג ו ר י ת ם ה ג נ ר י ע ל ג ר ף ל א מ כ ו ו ן מ מ ו ש ק ל ו ק ש י ר מ ל כ ת ח י ל ה א י נ ן צ ב ו ע ו ת ), ה ג ר ף G מ ק י י ם א ת ש מ ו ר ת ה צ ב ע ה ו כ ח ה : ב א י נ ד ו ק צ י ה ע ל מ ס פ ר ה ק ש ת ו ת ש ה א ל ג ו ר י ת ם ה ג נ ר י צ ב ע G ב ס י ס : כ א ש ר א ף ק ש ת ל א צ ב ו ע ה כ ל ע פ " מ מ ק י י ם א ת ש מ ו ר ת ה צ ב ע ( ב א ו פ ן ר י ק ) ה k צ ע ד : נוכיח שאם ה ט ע נ ה נ כ ו נ ה ל א ח ר צ ב י ע ת 1-k ק ש ת ו ת, ה י א נ כ ו נ ה ג ם ל א ח ר צ ב י ע ת ה ק ש ת מ ק ר ה א : =e ב כ ח ו ל ע ל י ד י ה פ ע ל ת ה כ ל ל ה כ ח ו ל ע ל ה ח ת ך ב צ ע ד ה k צ ב ע נ ו ק ש ת (,) u v ) X D= ( XV, \ י ה י א ם ש ע ב ו ר ו ע פ " מ T ה ש מ ו ר ה ה ת ק י י מ ה e צ ב י ע ת ל פ נ י ה א י נ ' מ ה נ ח ת א ז e T ב י ן ה צ מ ת י ם T א י נ ה א ד ו מ ה ( מ א ח ר ו א ת ה ו א ע פ " מ כ מ ב ו ק ש א ם,u ה מ ס ל ו ל ח י י ב ל ה כ י ל ק ש ת v e T א ז נ ס ת כ ל ע ל ה מ ס ל ו ל ב ע ץ T e ' ש ח ו צ ה א ת, D ו ל כ ן א י נ ה כ ח ו ל ה ש מ ח ב ר e ' ) e' T ' e כ ל ו מ ר א י נ ה צ ב ו ע ה מ כ א ן ש we we' ה כ ל ל ה כ ח ו ל e ה י א ק ש ת ל א צ ב ו ע ה ב ע ל ת מ ש ק ל מ י נ י מ א ל י ב ) D נ ש מ י ט א ת e ' T ל- e ח ד ש ג ר ף ת ת נ ק ב ל T ' ו מ כ י ל ( ק ש י ר ע ץ ה ו א ש ג ם 1-n wt ( ') = wt we ( ') + we wt ה כ ח ו ל ו ת כ נ ד ר ש ל ב ( ש י מ ו ל כ ן ש ל מ ע ש ה T ' ח י י ב ע פ " מ, ה ו א ל ה ת ק י י ם מ כ י ל ו ה ו א ק ש ת ו ת ), א ת wt = wt ( ') כ ל, = ) we we' ג ם ע " פ ו נ ו ס י ף ו מ ת ק י י ם ה ק ש ת ו ת ג ם ו ל כ ן מ ק ר ה ב: T =e ב א ד ו ם ע ל י ד י ה פ ע ל ת ה כ ל ל ה א ד ו ם ע ל מ ע ג ל ב צ ע ד ה k צ ב ע נ ו ק ש ת (,) u v, C ו ה ע פ " מ ש ק י י ם א ת ה ש מ ו ר ה ה ו א e T א ם א ז ס י י מ נ ו א ם e T מ ח ל ק ת א ת T T T 1 ו ל ש נ י ע צ י ם ז ר י ם, T 2 א ז ה ש מ ט ת e מ )2 1 4 ( ( צ מ ת י ע צ י ם א ל ו מ ה ו ו י ם ח ל ו ק ה ש ל צ מ ת י ה ג ר ף G ה ח ת ך D ה מ ו ג ד ר ע " י ח ל ו ק ה ז ו כ ו ל ל א ת ה ק ש ת e ק ש ת נ ו ס פ ת מ ה מ ע ג ל, C ש ת ק ר א מ ה נ ח ת ה א י נ ד ו ק צ י ה א י נ ה כ ח ו ל ה א י נ ה ש י י כ ת לT 'e ה ק ש ת 'e מ ה כ ל ל ה א ד ו ם נ ו ב ע ש-' e ו ל פ ח ו ת (2( 1 4 ), ו ל כ ן we' we ת ת ה ג ר ף נ ב ח ר ה ע " י ה כ ל ל ה א ד ו ם, ל כ ן ) ( ) ( ג ם ל א ה י ת ה א ד ו מ ה כ א ש ר e e ה מ ת ק ב ל ע " י ה ש מ ט ת 'T

2 2, wt ( ') = wt + we ( ') we wt ו ה ו ס פ ת 'e ל T ה ו א ע ץ ( ל מ ה? ) ה ע ץ 'T מ ק י י ם ו ל כ ן מ ס ק נ ה: ה ו כ ח ה : ל א ה ם wt = wt ( ') ה י ו ו ב מ י ו ח ד 'T ה ו א ע פ " מ ה מ ק י י ם א ת ה ש מ ו ר ה כ א ש ר ה א ל ג ו ר י ת ם ה ג נ ר י מ ס ת י י ם ה ק ש ת ו ת ה כ ח ו ל ו ת מ ה ו ו ת ע פ " מ ע ל פ י ל מ ה, 3 4 כ א ש ר ה א ל ג ו ר י ת ם מ ס ת י י ם ה ק ש ת ו ת ה כ ח ו ל ו ת מ ו כ ל ו ת ב ע פ " מ א ם ל ה ש ל י מ ן נ י ת ן ה י ה ע פ " מ, ק ש ת ו ת ה ו ס פ ת י ד י ע ל ל ע פ " מ א ד ו מ ו ת ( ל מ ה? ) ב ס ת י ר ה ל כ ך ש ה ק ש ת ו ת ה א ד ו מ ו ת א י נ ו מ ו כ ל ו ת ב ע פ " מ ק ל ט : ה א ל ג ו ר י ת ם ש ל Prim מ פ ע י ל י ם א ת ה כ ל ל ה כ ח ו ל ב ל ב ד ע ד ש מ ת ק ב ל ע פ " מ נ ו ס פ ו ת ה כ ל ל ה כ ח ו ל מ ו פ ע ל ע ל ה ח ת ך ב י ן צ מ ת י ה ע ץ ש ה ו ל ך ו נ ב נ ה ו ש א ר צ מ ת י ה ג ר ף ג ר ף ל א מ כ ו ו ן ק ש י ר מ מ ו ש ק ל G=(V,E) ה א ל ג ו ר י ת ם ש ל Prim U : = { r} א ת ח ו ל כ ל ה ק ש ת ו ת א י נ ן צ ב ו ע ו ת ; כ ל ע ו ד U V ב צ ע : ה פ ע ל א ת ה כ ל ל ה כ ח ו ל ע ל ח ת ך מ י נ י מ א ל י ת ב ח ת ך ז ה כ ך ש- ( UV, \ U ) ש ה ן e= ( u, ו צ ב ע ב כ ח ו ל ק ש ת (v U: ; ב צ ע v} = U { u Uv, V \ U ב ה כ ר ח ט ע נ ה : ה א ל ג ו ר י ת ם ש ל פ ר י ם מ ס ת י י ם כ א ש ר ה ק ש ת ו ת ה כ ח ו ל ו ת ה ן ע פ " מ ה ו כ ח ה : כ א ש ר ה א ל ג ו ר י ת ם מ ס ת י י ם, ה ק ש ת ו ת ה כ ח ו ל ו ת מ ה ו ו ת ע ץ פ ו ר ש )1-V ק ש ת ו ת ה מ ק ש ר ו ת ב י ן כ ל ה צ מ ת י ם ב ) V ע " ס ל מ ה 3 4 ז ה ו ע ץ ה מ ו כ ל ב ע פ " מ, ו ל כ ן ה ו א ע פ " מ

ס י ב ו כ י ו ת :) 3 2 ה ר צ א ה מ ס ' 5 מ י מ ו ש ה א ל ג ו ר י ת ם ש ל פ ר י ם ז מ ן ה א ת ח ו ל ת ל ו י ב מ י מ ו ש א ח ר י ו י ש ל ב צ ע 1-V א י ט ר צ י ו ת e= ( u, v) ל כ ל צ ו מ ת ל צ ו מ ת ב מ י נ י מ ל י ת ב ח ת ך v V \ U י ו ח ז ק מ פ ת ח ב כ ל א י ט ר צ י ה צ ר י ך ל ב ח ו ר ק ש ת ) U ( UV, \, ל צ ב ו ע א ו ת ה ב כ ח ו ל, ו ל צ ר ף א ת v ל U ל צ ו ר ך ז ה : = ה מ ש ק ל המינימלי של קשת שמחברת א ת v key[ v], U ו א ם א י ן כ ז ו א ז key[ v ] = כ א ש ר key[ v] נ ש מ ו ר ה א ל ג ו ר י ת ם מ ש ת מ ש ב מ ש ת נ ה ק ש ת v מ- ( pv [ ], v) ב- U ל צ ו מ ת ש מ ש ק ל ה key[ v] Q= V \ U [ ], [ ] ל כ ל v V ב צ ע key v = p v = nil [ ] Q : = V, key r : = 0 Q כ ל ע ו ד ה ו צ א מ- Q צ ו מ ת u כ ך ש (u key( מ י נ י מ א ל י ל כ ל ש כ ן v ש ל u ש מ ו פ י ע ב Q: u, w( א ז ) ( ] [ א ם v] v) < key[ ק ש ת ו ת ה ע פ " מ ה ן ה ק ש ת ו ת ל ש מ י ר ת ה צ מ ת י ם ש ע ד י י ן ל ל א צ ו ר פ ו ל ע ץ p[ v]: = u, key v : = w u, v {( pu, u) : u r} ס י ב ו כ י ו ת ה א ל ג ו ר י ת ם ת ל ו י ה ב מ י מ ו ש ש ל א ב מ י מ ו ש Q ב ע ז ר ת מ ע ר ך ש ל צ מ ת י V Q נ ר א ה ש נ י מ י מ ו ש י ם : ש ו מ ר י ם ל כ ל צ ו מ ת v ב מ ע ר ך א ת key(v) ו א ת p[v], ו ב י ט ה מ צ י י ן א ם v ש י י ך ל Q ב כ ל א י ט ר צ י ה : מ ו צ א י ם o v Q ( ס י ב ו כ י ו ת : ע ב ו ר ו key[v] מ י נ י מ א ל י, ו מ ו צ י א י ם א ו ת ו מ Q O( V ) ל א י ט ר צ י ה, 2 O( V ) o ע ב ו ר כ ל ק ש ת כ ך ש (w,) v ס ך ה כ ל ) ]p ו[ w key[w] מ ע ד כ נ י ם א ת ע ר כ י, w Q Odv ( ()) ס י ב ו כ י ו ת כ ו ל ל ת ש ל מ י מ ו ש ב ע ז ר ת מ ע ר ך ל א י ט ר צ י ה, כ ל ו מ ר (E )O ב ס ך ה כ ל ) OV E OV 2 2 ( + ) =

ש ב ו, ה ק ט נ ת) ס י ב ו כ י ו ת :) 4 2 מ י מ ו ש Q ב ע ז ר ת ע ר י מ ה נ ז כ י ר כ י ע ר י מ ה Heap ה י א ע ץ ב י נ א ר י מ א ו ז ן ( ה פ ר ש ב י ן ע ו מ ק ש נ י ע ל י ם 1 ) ה מ פ ת ח מ כ ל ק ט ן ע ץ ת ת כ ל ב ש ו ר ש ה מ פ ת ח ו ת ו ב פ ר ט, ה ע ץ, ב ת ת ה מ פ ת ח א ת ש מ כ י ל ה צ ו מ ת ה מ י נ י מ א ל י י ו פ י ע ב ש ר ש ה פ ע ו ל ו ת ש ה א ל ג ו ר י ת ם נ ד ר ש ל ב צ ע ע ל ע ר י מ ה : ב נ י י ת ה ע ר י מ ה -( V )O צ ע ד י ם O( logv ה ו צ א ת א ב ר ע ם מ פ ת ח מ י נ י מ א ל י - ) צ ע ד י ם ג Decrease Key O( logv ע ר כ ו ש ל מ פ ת ח ש ל א ב ר ב ע ר מ ה ) - ) צ ע ד י ם o ב כ ל א י ט ר צ י ה מ ב ו צ ע ו ת ה פ ע ו ל ו ת ה ב א ו ת : v Q מ צ י א ת ל א י ט ר צ י ה ) ע ב ו ר ו key[v] מ י נ י מ א ל י ו ה ו צ א ת ו מQ ( ס י ב ו כ י ו ת : O(log V ) o ע ד כ ו ן ע ר כ י key[w] ו p[w] ע ב ו ר כ ל ק ש ת w Q כ ך ש (, v w) Odv ( log V) ל א י ט ר צ י ה, כ ל ו מ ר (V OE ( log ב ס ך ה כ ל ) ס י ב ו כ י ו ת כ ו ל ל ת ש ל מ י מ ו ש ב ע ז ר ת ע ר י מ ה : ) log ( log ) + ( log ) = ( + ) ( ה ע ר ה : ה מ י נ י מ ו ם ע ל ה ס י ב ו כ י ו ת א ת ע ו ד ל ש פ ר א פ ש ר OV OV V OE V OE V O ( logv ב- ) ו פ ע ו ל ת צ ע ד י ם ש י מ ו ש י ד י decreasekey ב ע ר י מ ו ת ( + log ) ו ל כ ן ה ס י ב ו כ י ו ת ה י א, ) Amortized Analysis ב-( O(1 O E V V פ ' י ב ו נ א צ ' י צ ע ד י ם פ ע ו ל ת ב מ מ ו צ ע ה ו צ א ת י ד י ( ע ל ה א ל ג ו ר י ת ם ש ל Kruskal מ י י ן א ת ה ק ש ת ו ת ב ס ד ר ל א י ו ר ד ל פ י מ ש ק ל =e ב צ ע : ע ב ו ר ע ל ה ר ש י מ ה ה מ מ ו י נ ת, ו ל כ ל ק ש ת (,) u v o א ם י ש מ ס ל ו ל כ ח ו ל מ u ל, v צ ב ע א ת e ב א ד ו ם, o א ח ר ת צ ב ע א ת e ב כ ח ו ל מ ש פ ט 1 5

5 2 צ ע ד ב כ ל ב א ל ג ו ר י ת ם Kruskal ש ל א ו ה כ ח ו ל ה כ ל ל מ ב ו צ ע ה ג נ ר י, ו ל כ ן ב ס ו ף ה א ל ג ו ר י ת ם ה ק ש ת ו ת ה כ ח ו ל ו ת מ ה ו ו ת ע פ " מ ה ו כ ח ה v ל u מ כ ח ו ל מ ס ל ו ל י ש א ם צ ב ו ע ה ל א ק ש ת ה י א א ז e כ ח ו ל ו ת, ו ל כ ן צ ב י ע ת ה ב א ד ו ם נ ע ש י ת ע ל פ י ה כ ל ל ה א ד ו ם X u א ת נ ג ד י ר כ ז ה, מ ס ל ו ל א י ן א ם כ ק ב ו צ ת ה צ מ ת י ם ה כ ל ל י ח י ד ה ש י ש ה א ד ו ם ב מ ע ג ל א ל י ה ם ש ל ש ש א ר מ ס ל ו ל ה א ל ג ו ר י ת ם ק ש ת ו ת י ו u מ כ ח ו ל ) X ( X, V \ א י נ ו u u ( u X u ) ש ה ח ת ך נ ו ב ע ז ו מ ה ג ד ר ה ק ש ת ו ת מ כ י ל א ת ו מ כ י ל כ ח ו ל ו ת, ה ק ש ת e מאחר שבעת ב י צ ו ע ה צ ע ד e ה י א ו ד א י ק ש ת ק ל ה ב י ו ת ר ש א י נ ה צ ב ו ע ה ב ח ת ך ק ש ת ק ל ה ב י ו ת ר בגרף שאיננה צ ב ו ע ה, ה י א ) X ( X, V \ ל כ ן צ ב י ע ת ה ב כ ח ו ל נ ע ש י ת ע ל u u פ י ה כ ל ל ה כ ח ו ל מ י מ ו ש ה א ל ג ו ר י ת ם ש ל ק ר ו ס ק ל מ י ו ן ה ק ש ת ו ת ב ת ח י ל ת ה א ל ג ו ר י ת ם ד ו ר ש ש ל (V OE ( log ל א ח ר מ כ ן ב כ ל צ ע ד י ש ל ק ב ו ע א ם י ש מ ס ל ו ל כ ח ו ל ב י ן u לv ל צ ו ר ך ב י צ ו ע צ ע ד ז ה נ ח ז י ק ב מ ב נ ה נ ת ו נ י ם א ת ה ק ב ו צ ו ת ה ז ר ו ת צ מ ת י ם ש נ מ צ א ו ת ב ש ל ב כ ח ו ל ע ץ ב א ו ת ו S v ק ב ו צ ה v צ ו מ ת ל כ ל נ י צ ו ר ה א ת ח ו ל ש מ כ י ל ה ר ק א ו ת ו ( י ש V ק ב ו צ ו ת כ א ל ו, O(V) ז מ ן א ת ח ו ל ) ב כ ל א י ט ר צ י ה י ב ו צ ע : S u = S v e= ( u, ב ד י ק ה ע ב ו ר 2 ק צ ו ו ת ה ק ש ת (v א ם S u S v א ם ל א, י צ י ר ת ה ק ב ו צ ה ה מ י י צ ג ת א ת ה ע ץ ש נ ו צ ר ע " י צ ב י ע ת e ב כ ח ו ל פ ע ו ל ו ת א ל ו י ב ו צ ע ו ע ל י ד י מ ב נ ה נ ת ו נ י ם ה ת ו מ ך find_set(v) ב פ ע ו ל ו ת ה ב א ו ת : מ ח ז י ר ה א ת ש ם ה ק ב ו צ ה ( ה י ח י ד ה ) ש מ כ י ל ה א ת v u, v א י ח ו ד ה ק ב ו צ ו ת ש מ כ י ל ו ת א ת Union(u,v) 1 ב ה ת א מ ה ש נ י מ ב נ י נ ת ו נ י ם א פ ש ר י י ם ל מ י מ ו ש י ע י ל ש ל ה פ ע ו ל ו ת ה א ל ו : מ ע ר ך ש ב ו ל י ד כ ל צ ו מ ת ר ש ו ם ש ם ה ק ב ו צ ה ה מ כ י ל ה א ו ת ו, ו ל כ ל ק ב ו צ ה כ ז ו ר ש י מ ה מ ק ו ש ר ת ש ל ה צ מ ת י ם ה נ מ צ א י ם ב ה ב מ י מ ו ש ז ה כ ל פ ע ם ש מ א ח ד י ם 2 ק ב ו צ ו ת, מ צ ר פ י ם א ת ה צ מ ת י ם ב ק ב ו צ ה ה ק ט נ ה י ו ת ר ל ק ב ו צ ה ה ג ד ו ל ה י ו ת ר

ש כ ן ש כ ל) 6 2 מ י מ ו ש ז ה מ ב ט י ח ז מ ן (1)O ל כ ל פ ע ו ל ת find_set(v), ו ז מ ן כ ו ל ל ש ל (V O(Vlog ל ס ה " כ פ ע ו ל ו ת Union(u,v) צ ו מ ת י ע ב ו ר ל כ ל ה י ו ת ר log2 V 2 ש ב כ ל פ ע ו ל ה ג ו ד ל ה ק ב ו צ ה א ל י ה ה ו א ש י י ך ג ד ל ל פ ח ו ת פ י ש נ י י ם ) י י צ ו ג כ ל ק ב ו צ ה ע " י ע ץ מ ו ש ר ש, כ א ש ר ה ש ו ר ש מ כ י ל א ת ש ם ה ק ב ו צ ה פ ע ו ל ו ת א י ח ו ד, מ ש ו ם ב מ י מ ו ש ז ה Union(u,v) נ ע ש ה ע ל י ד י ה ו ס פ ת ה ש ו ר ש ש ל ה ק ב ו צ ה ה ק ט נ ה י ו ת ר כ ב ן ש ל ה ש ו ר ש ש ל ה ק ב ו צ ה ה ג ד ו ל ה י ו ת ר כ ל פ ע ו ל ת א י ח ו ד כ ז ו מ כ פ י ל ה א ת ג ו ד ל ה ע ץ ה ק ט ן מ ב י ן ה ש נ י י ם, ו ל כ ן ע מ ק ו ש ל כ ל ע ץ ה ו א ל ו ג ר י ת מ י ב מ ס פ ר ה צ מ ת י ם ש ה ו א מ כ י ל פ ע ו ל ת find_set(v) נ ע ש י ת ע ל י ד י " ה ל י כ ה " מ ה צ ו מ ת ל ש ו ר ש ה ע ץ מ י מ ו ש ז ה מ ב ט י ח ז מ ן (1)O ל פ ע ו ל ת Union(u,v), ו ז מ ן (V O(log ל פ ע ו ל ת O(log (V מ ש ו ם ש ע מ ק ו ש ל ה ע ץ כ א מ ו ר, find_set(v) ש י מ ו ל ב ש ש נ י ה מ י מ ו ש י ם נ י ת נ י ם ל ב י צ ו ע ב ז מ ן (V O(Elog ש נ ק ב ע, ע ל י ד י ה ז מ ן ה ד ר ו ש ל מ י ו ן ה ק ש ת ו ת מ ן ה ר א ו י ל צ י י ן ש א ת מ ב נ ה ה נ ת ו נ י ם ה מ י י צ ג ק ב ו צ ו ת ע ל י ד י ע צ י ם נ י ת ן ל ש פ ר כ ך ש י ע ב ו ד ב ז מ ן " כ מ ע ט ל י נ א ר י " אלגוריתמים למסלולים קלים בגרפים wuv (, ) ( u, v) G= ( V, י ה י (E ג ר ף פ ש ו ט, מ כ ו ו ן א ו ל א מ כ ו ו ן, ש ב ו ל כ ל ק ש ת מ ש ק ל p= ה מ ש ק ל ש ל מ ס ל ו ל,v0,,v1 vk ה ו א ס כ ו ם ה מ ש ק ל ו ת ש ל ק ש ת ו ת ה מ ס ל ו ל : k (, ) w p = wvi 1 vi i= 1 מ ס ל ו ל ק ל ב י ו ת ר ל- v ה ו א מ ס ל ו ל ל כ ל מ ס ל ו ל v ל- s מ- p* ה מ ק י י ם : ( *) w( p) לv, s מ p w p מ- s ב י ו ת ר : ק ל מ ס ל ו ל ק י י ם ת מ י ד ל א ש ק י י מ י ם א י ן ס ו ף מ ס ל ו ל י ם מ ס ל ו ל מ ס ל ו ל כ ל ל ש א י ן י י ת כ ן מ- s ל- v מ- s ל- v א י ן א ם G= ( V, ב- (E מ ע ג ל י ם ש א ף, ש ל י ל י י ם ( ש ס כ ו ם ל ח י ל ו פ י ן א ח ד מ ה ם א י נ ו ק ל ב י ו ת ר ה כ ל ל ה ו א : מ ש ק ל י ק ש ת ו ת י ה ם ש ל י ל י ) י י ת כ ן ש נ י ת נ י ם ל מ ה? ) ) v ל ה ג ע ה א ז י ל כ ל ש נ י ת ן ל ה ג ע ה מ s ק י י ם מ ס ל ו ל ק ל ב י ו ת ר מ s ל v מ- s

7 2 א ם ק י י ם מ ס ל ו ל ל- v ש מ כ י ל מעגל שלילי, א ז י ל א ק י י ם מ ס ל ו ל ק ל ב י ו ת ר מ- s ל- מ- s dist ( s, v ) = ב מ ק ר ה ז ה כ א מ ו ר v ל כ ן ה ג ד ר ה מ ל א ה ש ל מ ר ח ק מ s ל v ה י א { } min w p p is path from s to v if there is a shortest path from s to v dist ( s, v) = if there is no path from s to v if there is path but no shortest path from s to v :w י ה י E ת ת י מ ס ל ו ל י ם ש ל מ ס ל ו ל י ם ק ל י ם =G ג ר ף מ מ ו ש ק ל ( מ כ ו ו ן א ו ל א ) ע ם פ ו נ ק צ י ת ה מ ש ק ל ( V, י ה י (E p = v, v,, v ij i i+ 1 j, ו י ה י v 1 מ ס ל ו ל ק ל ב י ו ת ר מ- ל- ת ת ה מ ס ל ו ל ב- p v k p= v1, v2,, vk p ij ל- מ- א ז ה ו א מ ס ל ו ל ק ל ב י ו ת ר מ- v j ל- v i v j v i ה ו כ ח ה p נ פ ר ק א ת ל ת ת י מ ס ל ו ל י ם p ij א ז י p p 1i ij p jk v1 vi vj vk = ( 1i ) + ( ij ) + ( jk ) w p w p w p w p נ נ י ח ב ש ל י ל ה כ י ק י י ם מ ס ל ו ל ' - א ז נ י ת ן ל ה ג ד י ר מ ס ל ו ל ' p ( ij ') < w( pij ) w p כ ך כ ך ש p p ' 1i ij p jk v1 vi vj vk, w p ס ת י ר ה ( ') < w( p) מ ס ל ו ל י ם ע ץ ג ר ף ש ל s י ח י ד מ מ ק ו ר ק ל י ם G=(V,E) ) ( ג ר ף ת ת ה ו א G' = V', E ' V ' V ו- E ' E V ' ו מ ת ק י י ם : ה ו א א ו ס ף ה צ מ ת י ם ש נ י ת נ י ם ל ה ג ע ה מ- s G ' ה ו א ע ץ מ ו ש ר ש ש ש ו ר ש ו s ל כ ל ד ו ג מ ה : ק ל י ם ה מ ס ל ו ל ה י ח י ד ב- ' G מ- s ל- v v V ' ה ע ץ מ מ ו ש ק ל, ל א ה ג ר ף כ א ש ר ס ו ג י א ל ג ו ר י ת מ י ם ל ב ע י י ת ה מ ס ל ו ל ה ק ל ה נ ב נ ה ה ו א מ ס ל ו ל ק ל ב י ו ת ר ב- G א ל ג ו ר י ת ם ע " י מ- s כ ך ש ש- כ ך ל- v ע ץ ה ו א BFS ה פ ל ט ה נ ד ר ש מ א ל ג ו ר י ת ם ל מ ס ל ו ל י ם ק ל י ם ה י נ ו ב ד ר ך כ ל ל א ח ד מ ש ל ו ש ת ה ס ו ג י ם ה ב א י ם : מ ס ל ו ל י ם

ב ו ר " " 8 2 s מ ס ל ו ל ק ל ב י ו ת ר ב י ן ז ו ג צ מ ת י ם : ל כ ל " מ ק ו ר " ו- מ ס ל ו ל י ם ק ל י ם מ מ ק ו ר י ח י ד ב ה נ ת ן צ ו מ ת מ ק ו ר s מ צ א א ת ה מ ס ל ו ל י ם ה ק ל י ם ב י ו ת ר מ- ה ג ר ף ג י ר ס ה ה ג ר ף צ מ ת י s מ ה מ ר ח ק י ם א ת מ צ א ה ב ע י ה : ש ל מ צ ו מ צ מ ת מ ס ל ו ל י ם ק ל י ם ב י ו ת ר ב י ן כ ל ז ו ג ו ת ה צ מ ת י ם צ מ ת י ל כ ל ב כ ל א ח ת מ ה ש א ל ו ת ה נ " ל מ ב ד י ל י ם ב י ן ש נ י מ ק ר י ם : ( א ) כ ל ה מ ש ק ל י ם א י ש ל י ל י י ם, ( ב ) י י ת כ נ ו ג ם מ ש ק ל י ם ש ל י ל י י ם ב ה מ ש ך נ נ י ח ש ג ר ף ה ק ל ט ה ו א ג ר ף מ כ ו ו ן ג ר ף ל א מ כ ו ו ן נ י ת ן ל י י צ ו ג ע ל י ד י ג ר ף מ כ ו ו ן ב ו ל כ ל ק ש ת ק י י מ ת ק ש ת א נ ט י- מ ק ב י ל ה ב ע ל ת א ו ת ו מ ש ק ל

מ כ א ן) 9 2 ה ר צ א ה מ ס ' 6 א ל ג ו ר י ת מ י ם ל מ צ י א ת מ ס ל ו ל ק ל ב י ו ת ר מ מ ק ו ר י ח י ד s s ו צ ו מ ת, :w E פ ו נ ' מ ש ק ל, =G ( V, ק ל ט : ג ר ף מ מ ו ש ק ל (E פ ל ט : ל כ ל v V ה מ ר ח ק ( מ ש ק ל ה מ ס ל ו ל ה ק ל ביותר) מ s ל v ש י ס ו מ ן,,s dist ( ל ע ת י ם v) נ ר צ ה ש ה א ל ג ו ר י ת ם י ח ז י ר ג ם ע ץ מ ס ל ו ל י ם ק ל י ם ב י ו ת ר ה א ל ג ו ר י ת ם ש נ ל מ ד מ נ י ח י ם ש א י ן ב ג ר ף ה ק ל ט מ ע ג ל י ם ש ל י ל י י ם נ ג י ש י ם מ s, ו מ כ א ן ש ל כ ל צ ו מ ת, v א ו ש ק י י ם מ ס ל ו ל ק ל ב י ו ת ר מ s ל, v א ו ש dist(s,v) מ ו ג ד ר כ " א י ן ס ו ף " א ל ג ו ר י ת ם גנרי למסלולים קלים ביותר ה א ל ג ו ר י ת ם ה ג נ ר י מ ת ח י ל ב ה ע ר כ ה ה ת ח ל ת י ת ש ל ח ס מ י ם ע ל י ו נ י ם ע ל א ר כ י ה מ ס ל ו ל י ם, ו ל א ח ר מ כ ן מ ש פ ר ח ס מ י ם א ל ו ע ד ש ל א נ י ת ן ל ש פ ר ם ע ו ד נ ש ת מ ש ב ה ג ד ר ו ת ה ב א ו ת, ה מ ת י י ח ס ו ת ל ג ר ף ק ל ט פ ו נ ק צ י י ת ח ס ם ע ל ע ל י ו ן מ ר ח ק י ם ה מ ק י י מ ת ש נ י ת נ א י ם : dist ( s, ל כ ל צ ו מ ת v V מ ת ק י י ם (v G= ( V, E) ( ב ק י צ ו ר ו צ ו מ ת מ ק ו ר : s פ ח " ע ) : d v (u,v) : d : V d ( s) 0 ה י א " ק ש ת מ ק צ ר ת " ( ב י ח ס ל א ם( d ז ו ה י ה ש ם ח ס ם ע ל י ו ן ) > + (, ) d v du wuv פ ו נ ק צ י ה, d : relaxation (u,v) ש י פ ו ר ק ש ת ע ל מ ק ו מ י פ " ח ע ב ה י נ ת ן ע ל מ ק ו מ י ש י פ ו ר ק ש ת (u,v), ב ק י צ ו ר ש י פ ו ר (u,v), ה ו א ה כ ל ל ה ב א : + (, ) א ם (u,v) ק ש ת מ ק צ ר ת d v du wuv ב צ ע כ ד י ל ב נ ו ת ע ץ מ ס ל ו ל י ם ק ל י ם ב י ו ת ר, כ א ש ר (u,v) ה י א ק ש ת מ ק צ ר ת נ ב צ ע ב ש י פ ו ר (u,v) ג ם parent ( v) א ת ה פ ק ו ד ה u ט ע נ ה : 6 6 א ם ל א ק י י מ ת ק ש ת מ ק צ ר ת ב י ח ס ל פ ח " ע, d א ז א י ן ב G מ ע ג ל י ש ל י ל י ה ו כ ח ה : י ה י ) u =C ( u,, u, u = מ ע ג ל ב G מ א ח ר ו ל כ ל i מ ת ק י י ם 0 k 1 k 0 ) ( du, wu (, u) du מ ת ק י י ם : i 1 i i i 1

מ ש ו ם ש) מ כ ך) 0 3 k k i 1 i i i 1 i= 1 i= 1 [ ] wu (, u) du ( du = 0 d : V { } ל מ ה 1: 6 ת ה י d א נ ש א ר ת פ ח " ע ג ם א ח ר י ב י צ ו ע ש י פ ו ר פ ח " ע ע ב ו ר G ו s א ז 2 ה ט ע נ ו ת ה ב א ו ת נ כ ו נ ו ת : ( u, v) = dist ( s, ב א ם א י ן ק ש ת מ ק צ ר ת ב י ח ס ל, d א ז ל כ ל צ ו מ ת v מ ת ק י י ם (v ה ו כ ח ה א א י נ נ י ח ש ב ו צ ע ש י פ ו ר d v : ( u, v) מ ה נ ח ת ה א י נ ד ו ק צ י ה, x ל כ ל מ ת ק י י ם v dist ( s, x) d x d( x) ל א ה ש ת נ ה ), ו כ נ " ל ג ם ל ג ב י d(v) א ם (u,v) א י נ נ ה ק ש ת מ ק צ ר ת d(v) ש ו נ ה ע " י ה ע ד כ ו ן ), ( + ) ( ) ( ה ש ו ו י ו ן ה ש מ א ל י א ח ר ת, d v du wuv ו ה ט ע נ ה נ ו ב ע ת מ א י ה ש ו ו י ו נ ו ת ה ב א י ם : = + (, ) (, ) + (, ) (, ) d v d u w u v dist s u w u v dist s v נ ו ב ע כ מ ו כ ן ב ר ו ר ש ל א ח ר ה ש י פ ו ר צ ו מ ת ש ל כ ל צ " ל ב ש מ ה ה נ ח ה, d() u dist(, s u), d() s 0 v ו ה י מ נ י מ ש ו ם ש d י כ ו ל ה ר ק ל ק ט ו ן,s dist ( י ד ו ע ש- מ ת ק י י ם (v (v = d ( מ ה כ ת ו ב נ ו ב ע dist ( s, v) d v ב מ ס ג ר ת d ש ל כ ן פ ח " ע ), ז ה ו א ו ר ך,s d ( (v dist ( נ נ י ח ב ש ל י ל ה ש ק י י ם צ ו מ ת מ ס פ י ק ל ה ו כ י ח ש (v,s, d ( (v > dist ( כ ל ו מ ר ק י י ם v), su P= ( u0 = י ה י 1,, uk ב- v) = v מ- s ל- v (v d ( מ ק ט ן ש א ו ר כ ו מ ס ל ו ל dist (, ) p s u p ה מ ס ל ו ל ע ל ה מ ר ח ק נ ס מ ן מ- s כ ך מ ס ל ו ל ל צ ו מ ת ש ז ה u dist s, s = d s = 0 p p (, ) < dist s v d v ב מ ס ל ו ל מ ה נ ח ת ה ש ל י ל ה ), ( > ) ( d v dist s v כ ע ת p מ ס ל ו ל מ s ל v כ י מ ט ע נ ה 0 6 נ ו ב ע ש א י ן מ ע ג ל ש ל י ל י ה מ כ י ל א ת s (, ) (, ) < dist s u d u p i i dist s u d u p i+ 1 i+ 1 מ כ א ן ש ק י י ם i כ ך ש > (, ) = (, ) + (, ) + (, ) d u dist s u dist s u w u u d u w u u i+ 1 p i+ 1 p i i i+ 1 i i i+ 1 ו ל כ ן

3 3 (, ) ui u i + 1 ו ה ק ש ת ה י א ק ש ת מ ק צ ר ת, ב נ י ג ו ד ל ה נ ח ה ה ע ר ה : ה ו כ ח ת ל מ ה 1 6 ת ק פ ה ג ם א ם ב ג ר ף G י ש מ ע ג ל י ם ש ל י ל י י ם א ל ג ו ר י ת ם ג נ ר י ל מ ס ל ו ל י ם ק ל י ם ב י ו ת ר מ מ ק ו ר י ח י ד ק ב ע פ ח " ע א ( u, v) ( u, v) ב כ ל ז מ ן ש ק י י מ ת ק ש ת מ ק צ ר ת ב צ ע ש י פ ו ר מימושים שונים של ה א ל ג ו ר י ת ם ה ג נ ר י נ ב ד ל י ם ב ס ד ר הביצוע של שיפורים מ ק ו מ י י ם ה ר א ש ו ן ש נ ל מ ד מ ר ש ה ק ש ת ו ת ב ע ל ו ת מ ש ק ל ש ל י ל י : אלגוריתם בלמן- פורד =G מ מ ו ש ק ל, ל ל א מ ע ג ל י ם ש ל י ל י י ם, ו צ ו מ ת ( V, ק ל ט : ג ר ף מ כ ו ו ן (E dist ( s, v) = d ( v) פ ל ט : ל כ ל צ ו מ ת - v ה א ל ג ו ר י ת ם: parent( v) nil, d ( v) א ת ח ו ל : ל כ ל {s v V }\ א ת ח ל ה מ י מ ו ש s V ; d ( s) 0 ע ד ע ב ו ר 1= i ל כ ל ק ש ת ב צ ע ) ( ב צ ע ש י פ ו ר ( u, v) V 1 u, v OV + OVE = OVE זמן ריצה ה ו כ ח ת נ כ ו נ ו ת נ ס ת מ ך ע ל ש ת י ה ל מ ו ת ה ב א ו ת : k מ- s ל- v, v ל מ ה : 2 6 ב י ו ת ר ק ל מ ס ל ו ל ק י י ם א ם צ ו מ ת ל כ ל ה מ כ י ל ל א ח ר א ז ק ש ת ו ת = dist ( s, v) d v א י ט ר צ י ו ת k ה ו כ ח ה ב א י נ ' ע ל k ע ב ו ר k ר ק = 0 s = 0 = dist ( s, s) ה א ת ח ו ל ) מ ת ק י י מ ת ה ט ע נ ה - מ ק י י ם א ת ה נ ח ת ה א י נ ד ו ק צ י ה ו א כ ן ל א ח ר 0 א י ט ר צ י ו ת ( ב ז כ ו ת d s v י ה י k +1 k ע ב ו ר ו נ ו כ י ח ע ב ו ר נ כ ו נ ו ת נ נ י ח צ ע ד : צ ו מ ת המקיים שיש מ ס ל ו ל ק ל מ- ב י ו ת ר ה מ כ י ל 1+ k ק ש ת ו ת v ל- s

כ י) כ ז כ ו ר) 2 3 k מ- s ל- v k +1 ( u, ת ה י (v ה ק ש ת ה א ח ר ו נ ה, ה כ ל ו מ ר ב י ו ת ר ה ק ל ב מ ס ל ו ל כ ע ת ה ק ש ת ו ת ה ק ו ד מ ו ת ק ל מ ס ל ו ל ( u, ל- (v ב י ו ת ר ), ה ן מ ס ל ו ל ק ל ב י ו ת ר מ ה נ ח ת ו ל כ ן מ- s ל- u ה א י נ ד ו ק צ י ה ב ז מ ן ה א י ט ר צ י ה ה- 1 + k ביצענו שיפור ל א ח ר ת ת מ ס ל ו ל ש ל מ ס ל ו ל ק ל ב י ו ת ר ה ו א מ ת ק י י ם k א י ט ר צ י ה = dist ( s, u) d u ( u, v) ביצענו שיפור כ ז ה ע ל כ ל ה ק ש ת ו ת ) ל א ח ר + (, ) = (, ) + (, ) = (, ) d v d u w u v dist s u w u v dist s v ב י צ ו ע ז ה מ ת ק ב ל הנחת האינדוקציה dist(, s u) כ י (u,v) הקשת האחרונה במסלול ה ק ל ב י ו ת ר מ s ל v כי בוצע ש י פ ו ר (v (,u א ם : 3 6 ל מ ה מ ס ל ו ל ק ל ב י ו ת ר ה ו כ ח ה מ ע ג ל י ם א י ן א ם מ ע ג ל י ם א י ן ב- G ש ל י ל י י ם, s ק י י ם מ ה נ ג י ש v צ ו מ ת ל כ ל א ז מ- s נ ג י ש י ם מ- s ל- v ש ל י ל י י ם מ ע ג ל י ם מ כ י ל ל כ ל ה י ו ת ר ה מ כ י ל ל כ ל ה י ו ת ר ק ל מ ס ל ו ל ק י י ם א ז V 1 ב י ו ת ר ק ש ת ו ת מ ע ג ל י ם ל ל א ( ה ו כ י ח ו ), V 1 ו מ ס ל ו ל ק ש ת ו ת ( כ י כ ל צ ו מ ת מ ו פ י ע ב ו ל כ ל ה י ו ת ר פ ע ם א ח ת ) ל ל א מנכונות שתי ה ל מ ו ת ה נ " ל נ ו ב ע ת נ כ ו נ ו ת האלגוריתם של ב ל מ ן פ ו ר ד : מ ל מ ה 3 6 נ ו ב ע כ י ה נ ג י ש צ ו מ ת ל כ ל 2 6 מ ס פ י ק ו ת s מ ב י ו ת ר ק ל מ ס ל ו ל ק י י ם מ- s ה י ו ת ר ל כ ל ה מ כ י ל V 1 V 1 א י ט ר צ י ו ת ב כ ד י ל מ צ ו א כ ל מ ס ל ו ל כ ז ה ק ש ת ו ת, ו מ ל מ ה אלגוריתם דיקסטרה (Dijkstra) דרישה חזקה יותר משל ב ל מ ן- פ ו ר ד, ולכן אלג ' מהיר י ו ת ר ק ל ט : ג ר ף מ מ ו ש ק ל מ כ ו ו ן ל א מ ש ק ל י ם ש ל י ל י י ם, ו צ ו מ ת s d ( v) = dist ( s, v) פ ל ט : ל כ ל צ ו מ ת - v ה א ל ג ו ר י ת ם: d ( s) ו א ת ח ל 0, parent() v nill, d ( v) ל כ ל v V א ת ח ל ) d ( v) dist ( s, ב נ ו ס ף א ת ח ל {s Q ( Q V }\ מ כ י ל א ת כ ל ה צ מ ת י ם ע ב ו ר ם (v כ ל ז מ ן ש Q ב צ ע מ צ א ב- Q צ ו מ ת u כ ך ש (u d ( מ י נ מ י א ל י ( u, (v ב צ ע ש י פ ו ר (,u ה ו צ א א ת u מ- Q ו ל כ ל ק ש ת (v