רקורסיות
צביקה ברגר
מבני נתונים
מיונים
צביקה ברגר
בס"ד
מיון
בס"ד
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
Sort
בס"ד
מיונים מוכרים
בס"ד
עצים
בס"ד
שאלה 1
בס"ד
פתרון
בס"ד
שאלה 2
בס"ד
שאלה 3
בס"ד
שאלה 4
בס"ד
פתרון
בס"ד
שאלות?
בס"ד