רקורסיות
מבנה נתונים
סיכום
צביקה ברגר
בס"ד
הגדרות
בס"ד
שיטת האב
בס"ד
סיבוכיות - שיטת האב
בס"ד
מיונים
בס"ד
מיון
בס"ד
1 | 3 | 8 | 4 | 2 | 9 | 6 | 7 | 5 |
מיון
בס"ד
1 | 3 | 8 | 4 | 2 | 9 | 6 | 7 | 5 |
9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
מיונים מוכרים
בס"ד
Bubble sort
בס"ד
Bubble sort
בס"ד
1 | 3 | 8 | 4 | 2 | 9 | 6 | 7 | 5 |
מספר האיטרציה (i) | 0 |
Bubble sort
בס"ד
1 | 3 | 8 | 4 | 2 | 9 | 6 | 7 | 5 |
מספר האיטרציה (i) | 0 |
1 | 3 | 8 | 4 | 2 | 9 | 6 | 7 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 0 |
Bubble sort
בס"ד
1 | 3 | 8 | 4 | 2 | 9 | 6 | 7 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 1 |
Bubble sort
בס"ד
1 | 3 | 8 | 4 | 2 | 9 | 7 | 6 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 1 |
Bubble sort
בס"ד
1 | 3 | 8 | 4 | 2 | 9 | 7 | 6 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 2 |
Bubble sort
בס"ד
1 | 3 | 8 | 4 | 2 | 9 | 7 | 6 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 3 |
Bubble sort
בס"ד
1 | 3 | 8 | 4 | 9 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 3 |
Bubble sort
בס"ד
1 | 3 | 8 | 4 | 9 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 4 |
Bubble sort
בס"ד
1 | 3 | 8 | 9 | 4 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 4 |
Bubble sort
בס"ד
1 | 3 | 8 | 9 | 4 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 5 |
Bubble sort
בס"ד
1 | 3 | 9 | 8 | 4 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 5 |
Bubble sort
בס"ד
1 | 3 | 9 | 8 | 4 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 6 |
Bubble sort
בס"ד
1 | 9 | 3 | 8 | 4 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 6 |
Bubble sort
בס"ד
1 | 9 | 3 | 8 | 4 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 7 |
Bubble sort
בס"ד
9 | 1 | 3 | 8 | 4 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 0 |
מיקום במערך (j) | 7 |
נדאג לא לגלוש מגבולות המערך
for (int j = 0; j < size-1; j++)
Bubble sort
בס"ד
9 | 1 | 3 | 8 | 4 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 1 |
Bubble sort
בס"ד
9 | 1 | 3 | 8 | 4 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 1 |
מיקום במערך (j) | 0 |
Bubble sort
בס"ד
9 | 1 | 3 | 8 | 4 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 1 |
מיקום במערך (j) | 1 |
Bubble sort
בס"ד
9 | 1 | 3 | 8 | 4 | 2 | 7 | 6 | 5 |
מספר האיטרציה (i) | 1 |
מיקום במערך (j) | 2 |
Bubble sort
בס"ד
9 | 1 | 3 | 8 | 4 | 7 | 2 | 6 | 5 |
מספר האיטרציה (i) | 1 |
מיקום במערך (j) | 2 |
Bubble sort
בס"ד
9 | 1 | 3 | 8 | 4 | 7 | 2 | 6 | 5 |
מספר האיטרציה (i) | 1 |
מיקום במערך (j) | 3 |
Bubble sort
בס"ד
9 | 1 | 3 | 8 | 7 | 4 | 2 | 6 | 5 |
מספר האיטרציה (i) | 1 |
מיקום במערך (j) | 3 |
Bubble sort
בס"ד
9 | 1 | 3 | 8 | 7 | 4 | 2 | 6 | 5 |
מספר האיטרציה (i) | 1 |
מיקום במערך (j) | 4 |
Bubble sort
בס"ד
9 | 1 | 3 | 8 | 7 | 4 | 2 | 6 | 5 |
מספר האיטרציה (i) | 1 |
מיקום במערך (j) | 5 |
Bubble sort
בס"ד
9 | 1 | 8 | 3 | 7 | 4 | 2 | 6 | 5 |
מספר האיטרציה (i) | 1 |
מיקום במערך (j) | 5 |
Bubble sort
בס"ד
9 | 1 | 8 | 3 | 7 | 4 | 2 | 6 | 5 |
מספר האיטרציה (i) | 1 |
מיקום במערך (j) | 6 |
Bubble sort
בס"ד
9 | 8 | 1 | 3 | 7 | 4 | 2 | 6 | 5 |
מספר האיטרציה (i) | 1 |
מיקום במערך (j) | 6 |
נשפר את התנאי
for (int j = 0; j < size-1-i; j++)
Bubble sort
בס"ד
9 | 8 | 1 | 3 | 7 | 4 | 2 | 6 | 5 |
מספר האיטרציה (i) | 2 |
Bubble sort
בס"ד
9 | 8 | 1 | 3 | 7 | 4 | 2 | 6 | 5 |
מספר האיטרציה (i) | 2 |
Bubble sort
בס"ד
9 | 8 | 7 | 1 | 3 | 6 | 4 | 2 | 5 |
מספר האיטרציה (i) | 3 |
Bubble sort
בס"ד
9 | 8 | 7 | 1 | 3 | 6 | 4 | 2 | 5 |
מספר האיטרציה (i) | 3 |
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 1 | 3 | 5 | 4 | 2 |
מספר האיטרציה (i) | 4 |
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 1 | 3 | 5 | 4 | 2 |
מספר האיטרציה (i) | 4 |
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 5 | 1 | 3 | 4 | 2 |
מספר האיטרציה (i) | 5 |
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 5 | 1 | 3 | 4 | 2 |
מספר האיטרציה (i) | 5 |
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 5 | 4 | 1 | 3 | 2 |
מספר האיטרציה (i) | 6 |
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 5 | 4 | 1 | 3 | 2 |
מספר האיטרציה (i) | 6 |
מיקום במערך (j) | 0 |
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 5 | 4 | 1 | 3 | 2 |
מספר האיטרציה (i) | 6 |
מיקום במערך (j) | 1 |
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 5 | 4 | 3 | 1 | 2 |
מספר האיטרציה (i) | 6 |
מיקום במערך (j) | 1 |
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 5 | 4 | 3 | 1 | 2 |
מספר האיטרציה (i) | 7 |
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 5 | 4 | 3 | 1 | 2 |
מספר האיטרציה (i) | 7 |
מיקום במערך (j) | 0 |
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
מספר האיטרציה (i) | 7 |
מיקום במערך (j) | 0 |
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
מספר האיטרציה (i) | 8 | אין צורך לבצע |
נגדיר את מספר האיטרציות
for (int i = 0; i < size-1; i++)
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
for (int i = 0; i < size-1; i++)
for (int j = 0; j < size-1-i; j++)
if (should_swap(j, j+1))
swap(j, j+1)
Bubble sort
בס"ד
9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
for (int i = 0; i < size-1; i++)
for (int j = 0; j < size-1-i; j++)
if (should_swap(j, j+1))
swap(j, j+1)
Merge Sort
בס"ד
Quick sort
בס"ד
1 | 4 | 2 | 0 | 5 | 6 | 9 | 8 | 1 | 7 | 2 |
//determining the pivot
swap(vec, left, (left+right)/2);
Quick sort
בס"ד
//determining the pivot
swap(vec, left, (left+right)/2);
6 | 4 | 2 | 0 | 5 | 1 | 9 | 8 | 1 | 7 | 2 |
k
Quick sort
בס"ד
6 | 4 | 2 | 0 | 5 | 1 | 9 | 8 | 1 | 7 | 2 |
last
i
left
right
last
i
last
i
last
i
last
i
last
i
i
i
//moving all the smaller element
for (i=left+1; i<=right; i++)
if (vec[i] < vec[left])
swap(vec, ++last, i);
Quick sort
בס"ד
6 | 4 | 2 | 0 | 5 | 1 | 1 | 8 | 9 | 7 | 2 |
k
last
i
last
i
left
right
//moving all the smaller element
for (i=left+1; i<=right; i++)
if (vec[i] < vec[left])
swap(vec, ++last, i);
Quick sort
בס"ד
6 | 4 | 2 | 0 | 5 | 1 | 1 | 8 | 9 | 7 | 2 |
k
last
i
left
right
//moving all the smaller element
for (i=left+1; i<=right; i++)
if (vec[i] < vec[left])
swap(vec, ++last, i);
Quick sort
בס"ד
6 | 4 | 2 | 0 | 5 | 1 | 1 | 2 | 9 | 7 | 8 |
k
last
i
left
right
//moving all the smaller element
for (i=left+1; i<=right; i++)
if (vec[i] < vec[left])
swap(vec, ++last, i);
Quick sort
בס"ד
2 | 4 | 2 | 0 | 5 | 1 | 1 | 6 | 9 | 7 | 8 |
last
i
left
right
//moving the pivot to its place
swap(vec,left,last);
Quick sort
בס"ד
2 | 4 | 2 | 0 | 5 | 1 | 1 |
left
right
left
right
9 | 7 | 8 |
//continue sorting both sides
qsort(vec, left, last-1);
qsort(vec, last+1, right);
6
מיונים מוכרים
בס"ד
עצים
בס"ד
עצים
בס"ד
עצים
בס"ד
מבני נתונים לינאריים
בס"ד
בס"ד
בס"ד
בס"ד
עצים בינאריים
בס"ד
הגדרות בסיסיות
73
0
1
2
3
הוכחות בעצים
74
אינדוקציה על מבנה העץ
75
סריקות בעצים בינאריים
76
1
2
3
1
2
3
1
2
3
Depth First Search – חיפוש לעומק
Breadth First Search – חיפוש לרוחב
Pre-order
77
In-order
78
Post-order
79
hash
בס"ד
גיבוב
בס"ד
בס"ד
מזג חפש
בס"ד
Union find
בס"ד
דוגמא שימוש
הגרף מתחיל בלי קשתות (וכל קדקוד הוא רכיב קשירות).
בכל פעם שמוסיפים קשת ייתכן ששני רכיבי קשירות יתמזגו ונרצה לאחד אותם.
בס"ד
עצים
בס"ד
מימוש עם רשימות מקושרות
בס"ד
ייעול 1
בס"ד
ייעול 1
בס"ד
ייעול 2
בס"ד
ייעול 2
בס"ד
ייעול 2
בס"ד
עצים
בס"ד
מימוש על ידי יער
בס"ד
כיווץ מסלולים
בס"ד
כיווץ מסלולים
בס"ד
Heap
בס"ד
פעולות נדרשות�תור עדיפויות - Priority Queue
בס"ד
ערימה בינארית
בס"ד
80
45
20
8
15
12
5
70
21
33
7
90
ערימה בינארית
בס"ד
עצים
בס"ד