SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
ΠΛΗ30
ΕΝΟΤΗΤΑ 2: ΣΧΕ∆ΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ
Μάθηµα 2.1:
∆ιαίρει και Βασίλευε∆ιαίρει και Βασίλευε
∆ηµήτρης Ψούνης
ΠΕΡΙΕΧΟΜΕΝΑ
Α. Σκοπός του Μαθήµατος
1. ∆ιαίρει και Βασίλευε
1. Ο αλγόριθµος MergeSort(Ταξινόµησης µε Συγχώνευση)
2. Ο αλγόριθµος QuickSort (Γρήγορη Ταξινόµηση)
3. Ο αλγόριθµος QuickSelect (Γρήγορη Επιλογή)
4. Ο αλγόριθµος Strassen για τον πολ/µο πινάκων
Β.Ασκήσεις
2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Β.Ασκήσεις
1. Εφαρµογές
Α. Σκοπός του Μαθήµατος
Οι στόχοι του µαθήµατος είναι:
Επίπεδο Α
(-)
Επίπεδο Β
Η τεχνική σχεδίασης αλγόριθµων ∆ιαίρει και Βασίλευε
3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Η τεχνική σχεδίασης αλγόριθµων ∆ιαίρει και Βασίλευε
Επίπεδο Γ
Ο αλγόριθµος Γρήγορης Ταξινόµησης (QuickSort)
Ο αλγόριθµος Επιλογής του k-µικρότερου αριθµού σε έναν πίνακα
Ο αλγόριθµος Πολλαπλασιασµού Πινάκων Strassen
B. Θεωρία
Τεχνικές Σχεδίασης Αλγορίθµων
4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Στην 2η ενότητα του µαθήµατος ασχολούµαστε µε τεχνικές που έχουν
αναπτυχθεί, ως γενικές µεθοδολογίες για την κατασκευή ενός αλγορίθµου:
Η τεχνική ∆ιαίρει και Βασίλευε (Μάθηµα 2.1)
Η τεχνική του ∆υναµικού Προγραµµατισµού (Μάθηµα 2.2)
Η κατασκευή των Άπληστων Αλγόριθµων (Μάθηµα 2.3)
Υπάρχουν ακόµη δεκάδες τεχνικές κατασκευής αλγορίθµων που είναι εκτός
ύλης.
B. Θεωρία
1. ∆ιαίρει και Βασίλευε
5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
∆ΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ
Ένας αλγόριθµος διαίρει και βασίλευε συνίσταται από τα εξής βήµατα:
1. ΒΗΜΑ ∆ΙΑΙΡΕΣΗΣ: ∆ιάσπαση του αρχικού προβλήµατος σε µικρότερα
επιµέρους υποπροβλήµατα.
2. ΒΗΜΑ ΕΠΙΛΥΣΗΣ ΕΠΙΜΕΡΟΥΣ ΣΤΙΓΜΙΟΤΥΠΩΝ: Επίλυση των επιµέρους
υποπροβληµάτων (µε αναδροµικές κλήσεις του ίδιου αλγόριθµου)
3. ΒΗΜΑ ΣΥΝΘΕΣΗΣ ΛΥΣΕΩΝ: Υπολογισµός της λύσης του αρχικού
προβλήµατος, από τις επιµέρους λύσεις των υποπροβληµάτων.
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
1. Ο αλγόριθµος ταξινόµησης MergeSort
6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Ο αλγόριθµος ταξινόµησης MergeSort (Ο αλγόριθµος Ταξινόµησης µε
Συγχώνευση) είναι εφαρµογή του ∆ιαίρει και Βασίλευε:
1. ΒΗΜΑ ∆ΙΑΙΡΕΣΗΣ: Ο πίνακας χωρίζεται σε δύο µέρη:
τον πίνακα και τον πίνακα
],...,[ 1 naaA =
],...,[ 2/11 naaA = ],...,[ 12/2 nn aaA +=
Η πολυπλοκότητα του αλγορίθµου είναι:
2. ΒΗΜΑ ΕΠΙΛΥΣΗΣ ΕΠΙΜΕΡΟΥΣ ΣΤΙΓΜΙΟΤΥΠΩΝ: Η επίλυση των δύο
υποπροβληµάτων που προκύπτουν γίνονται µε αναδροµικές κλήσεις του
MergeSort.
3. ΒΗΜΑ ΣΥΝΘΕΣΗΣ ΛΥΣΕΩΝ: Η συγχώνευση των δύο πινάκων γίνεται µε την
διαδικασία Merge (βλέπε Μάθηµα 1.4) σε γραµµικό χρόνο
2/11 n 12/2 nn +
)log(...)(
2
2)( nnn
n
TnT Θ==Θ+





=
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
2. Ο αλγόριθµος ταξινόµησης QuickSort
7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Ο αλγόριθµος ταξινόµησης QuickSort (Ο αλγόριθµος Γρήγορης
Ταξινόµησης) είναι επίσης εφαρµογή του ∆ιαίρει και Βασίλευε:
1. ΒΗΜΑ ∆ΙΑΙΡΕΣΗΣ: Ο πίνακας χωρίζεται σε δύο µέρη:
τον πίνακα Α1 που περιεχει όλα τα στοιχεία που είναι µικρότερα από το α1 και
],...,[ 1 naaA =
1 1
τον Α2 που περιέχει όλα τα στοιχεία που είναι µεγαλύτερα από το α1
2. ΒΗΜΑ ΕΠΙΛΥΣΗΣ ΕΠΙΜΕΡΟΥΣ ΣΤΙΓΜΙΟΤΥΠΩΝ: Η επίλυση των δύο
υποπροβληµάτων (ταξινόµηση των υποπινάκων Α1 και Α2) που προκύπτουν
γίνονται µε αναδροµικές κλήσεις του QuickSort.
3. ΒΗΜΑ ΣΥΝΘΕΣΗΣ ΛΥΣΕΩΝ: Ο πίνακας A = [A1]α1[A2]
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
2. Ο αλγόριθµος ταξινόµησης QuickSort (1.Ψευδοκώδικας)
8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Παρακάτω φαίνεται µια υλοποίηση της διαδικασίας QuickSort:
procedure QuickSort(A,start,finish)
if start<finish then
pos=Partition(A,start,finish)
QuickSort(A,start,pos-1)
QuickSort(A,pos+1,finish)
end ifend if
end procedure
procedure Partition(A,start,finish)
odigo=A[start]
i=start; j=finish
for (k=start+1 to finish)
if (A[k]>odigo)
B[j]=A[k]; j=j-1
else
B[i]=A[k]; i=i+1
end for
B[i]=odigo; Α=Β
return pos;
end procedure
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
2. Ο αλγόριθµος ταξινόµησης QuickSort (2.Παράδειγµα Εκτέλεσης)
9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Ας τρέξουµε ένα παράδειγµα εκτέλεσης της Partition:
B.1
B.2
1 2 3 4 5 6 7 8
9 7 4 11 18 20 6 1
1 2 3 4 5 6 7 8
7k i j
1 2 3 4 5 6 7 8
9 7 4 11 18 20 6 1
1 2 3 4 5 6 7 8
7 4k i j
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
B.3
B.4
B.5
B.6
B.7
1 2 3 4 5 6 7 8
9 7 4 11 18 20 6 1
1 2 3 4 5 6 7 8
7 4 11k i j
1 2 3 4 5 6 7 8
9 7 4 11 18 20 6 1
1 2 3 4 5 6 7 8
7 4 18 11k i j
1 2 3 4 5 6 7 8
9 7 4 11 18 20 6 1
1 2 3 4 5 6 7 8
7 4 20 18 11k i j
1 2 3 4 5 6 7 8
9 7 4 11 18 20 6 1
1 2 3 4 5 6 7 8
7 4 6 20 18 11k i j
1 2 3 4 5 6 7 8
9 7 4 11 18 20 6 1
1 2 3 4 5 6 7 8
7 4 6 1 20 18 11k i j
1 2 3 4 5 6 7 8
7 4 6 1 9 20 18 11
Ο αλγόριθµος ταξινόµησης QuickSort (2.Παράδειγµα Εκτέλεσης)
10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
7 4 11 9 6 1 14 5 2 3 10 13 18 19 22 20
1 2 3 4 5 6 7 8 9 10 11 12
7 4 11 9 6 1 14 5 2 3 10 13
4 6 1 5 2 3 7 13 10 14 9 11
14 15 16
19 22 20
19 20 22
1 2 3 4 5 6
4 6 1 5 2 3
1 2 3 4 5 6
8 9 10 11 12
13 10 14 9 11
10 9 11 13 14
15 16
20 22
20 221 2 3 4 5 6 10 9 11 13 14 20 22
16
22
22
1 2 3
1 2 3
1 3 2
5 6
5 6
5 6
8 9 10
10 9 11
9 10 11
12
14
14
6
6
6
2 3
3 2
2 3
2
2
2
8
9
9
10
11
11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 2 3 4 5 6 7 9 10 11 13 14 18 19 20 22
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
2. Ο αλγόριθµος ταξινόµησης QuickSort (3. Ανάλυση)
11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Η διαδικασία του Partition έχει πολυπλοκότητα Θ(n)
Ανάλυση Καλύτερης Περίπτωσης:
Όταν το σπάσιµο γίνεται στην µέση του πίνακα. Τότε προκύπτει η
αναδροµή:
)log(...)(2)(
.
nnn
n
TnT
ί
Θ==Θ+



=
αςκυριαρχθ
Ανάλυση Χειρότερης Περίπτωσης:
Όταν το σπάσιµο γίνεται στην µέση του πίνακα. Τότε προκύπτει η
αναδροµή:
Στην µέση περίπτωση?
)log(...)(
2
2)( nnn
n
TnT Θ==Θ+





=
( ) )(...)(1)( 2
.
nnnTnT Θ==Θ+−=
επαναληψηςµεθ
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
2. Ο αλγόριθµος ταξινόµησης QuickSort (3. Ανάλυση)
12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Ανάλυση Μέσης Περίπτωσης:
Αν θεωρήσουµε ότι είναι ισοπίθανα τα δυνατά σπασίµατα του πίνακα σε
δύο κοµµάτια τότε κατά µέσο όρο οι πράξεις του αλγορίθµου θα δίνονται
από την αναδροµική σχέση:
[ ] [ ] [ ]nTnTnnTnnTT
nT
)()0()1(...)()2()1()()1()0(
)(
Θ++−++Θ+−Τ++Θ+−+
=
Ή πιο απλά:
Και τελικά
Για την οποία αποδεικνύεται ότι ισχύει T(n)=Θ(nlogn)
[ ] [ ] [ ]
n
nT )( =
[ ]
n
nnnTTT
nT
)()(...)1()0(2
)(
Θ++++
=
[ ] )(
)(...)1()0(2
)( n
n
nTTT
nT Θ+
+++
=
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
3. Ο αλγόριθµος επιλογης QuickSelect
13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
ΠΡΟΒΛΗΜΑ: ∆ίνεται ένας αταξινόµητος πίνακας µε n στοιχεία. Ζητείται να
βρεθεί το k-µικρότερο στοιχείο
Παράδειγµα στιγµιοτύπου:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
Το 5-µικρότερο στοιχείο είναι το 5
Το 10-µικρότερο στοιχείο είναι το 11
Αλγόριθµοι:
Προφανής Αλγόριθµος: Ταξινόµησε τον πίνακα (µε MergeSort) και
επέλεξε το k-ο µικρότερο στοιχείο. Πολυπλοκότητα: Θ(nlogn)
QuickSelect: Εφαρµογή ∆ιαίρει και Βασίλευε: Πολ/τα: O(n)
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
3. Ο αλγόριθµος επιλογης QuickSelect (Ιδέα)
14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Εκµεταλλευόµαστε τo σπάσιµο του πίνακα που κάνει η διαδικασία partition.
Θα χρειάζεται κάθε φορά να ψάχνουµε έναν από τους δύο υποπίνακες που
προκύπτουν µε κατάλληλη τροποποίηση του k.
Έτσι αφού η διαδικασία Partition σπάει τον πίνακα ως εξής [A1] apos [A2]
Αν k=pos τότε βρήκαµε το στοιχείο είναι το apos.
Αν k<pos τότε ψαχνουµε στον πίνακα A1 για το k-µικρότερο στοιχείο
Αν k>pos τότε ψάχνουµε στον πίνακα Α2 για το (k-n1-1)-µικρότερο
στοιχείο (όπου n1 το πλήθος των στοιχείων του Α1)
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
3. Ο αλγόριθµος επιλογης QuickSelect (1.Ψευδοκώδικας)
15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Η υλοποιηση σε ψευδογλώσσα της παραπάνω διαδικασίας είναι η
ακόλουθη:
procedure QuickSelect(A,start,finish,k)
if start>finish then
return 0
elseelse
pos=Partition(A,start,finish)
if k=pos then
return A[pos]
else if k<pos then
return QuickSelect(A,start,pos-1,k)
else if k>pos then
return QuickSelect(A,pos+1,finish,k-pos)
end if
end if
end procedure
3. Ο αλγόριθµος επιλογης QuickSelect(2.Παράδειγµα Εκτέλεσης για k=12)
16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
7 4 11 9 6 1 14 5 2 3 10 13 18 19 22 20
1 2 3 4 5 6 7 8 9 10 11 12
7 4 11 9 6 1 14 5 2 3 10 13
4 6 1 5 2 3 7 13 10 14 9 11
8 9 10 11 12
13 10 14 9 11
10 9 11 13 1410 9 11 13 14
12
14
14
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
3. Ο αλγόριθµος επιλογης QuickSelect (3. Ανάλυση)
17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Η διαδικασία του Partition έχει πολυπλοκότητα Θ(n)
Ανάλυση Καλύτερης Περίπτωσης:
Όταν το σπάσιµο γίνεται στην µέση του πίνακα. Τότε προκύπτει η
αναδροµή:
)(...)()(
.
nn
n
TnT
ί
Θ==Θ+



=
αςκυριαρχθ
Ανάλυση Χειρότερης Περίπτωσης:
Όταν το σπάσιµο γίνεται στην µέση του πίνακα. Τότε προκύπτει η
αναδροµή:
Χρειαζόµαστε ένα πιο έξυπνο σπάσιµο σπάσιµο του πίνακα ώστε να
επιτυγχάνεται ένα σπάσιµο του πίνακα περίπου στην µέση.
)(...)(
2
)( nn
n
TnT Θ==Θ+





=
( ) )(...)(1)( 2
.
nnnTnT Θ==Θ+−=
επαναληψηςµεθ
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
3. Ο αλγόριθµος επιλογης QuickSelect (4. Παραλλαγή µε τη διαδικασία Πεντάδων)
18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Προτείνεται η διαδικασία των πεντάδων η οποία:
Χωρίζει τα στοιχεία σε 5-αδες
Από κάθε 5-άδα επιλέγουµε το µεσαίο στοιχειο.
Επαναλαµβάνουµε αναδροµικά για τα µεσαία στοιχεία.
Επιλέγουµε δηλαδή το µεσαίο των µεσαίων (των µεσαίων…) από κάθεΕπιλέγουµε δηλαδή το µεσαίο των µεσαίων (των µεσαίων…) από κάθε
πεντάδα.
Π.χ.:
5-άδες
Νεος Πίνακας αναδροµική εκτέλεση
Επιστρέφεται το 9 (επιλογή οδηγού στοιχείου)
16
13
1 2 3 4 5
18 7 4 11 9
6 7 8 9 10
20 6 1 22 19
11 12 13 14 15
14 5 2 3 10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13
1 2 3 4
9 19 5 13
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
3. Ο αλγόριθµος επιλογης QuickSelect (4. Παραλλαγή µε τη διαδικασία Πεντάδων)
19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Η επιλογή του µεσαίου στοιχείου από 5 στοιχεία θέλει σταθερό χρόνο:
Άρα αν ο πίνακας έχει n στοιχεία και θέλουµε συνολικά χρόνο T(n)
Επιλέγουµε n/5 φορές το µεσαίο (µε χρόνο Θ(1)). Το βήµα αυτό θέλει
συνολικό χρόνο
Έπειτα κάνουµε µια αναδροµική κλήση για n/5 δεδοµένα.
)()1(
5
n
n
Θ=Θ
Έπειτα κάνουµε µια αναδροµική κλήση για n/5 δεδοµένα.
Συνεπώς η πολυπλοκότητα της επιλογής του στοιχείου µε την διαδικασία
των 5-άδων προκύπτει από την επίλυση της αναδροµικής σχέσης:
Αποδεικνύεται ότι είναι πολύ καλό σπάσιµο, διότι σε κάθε βήµα θα
απορρίπτονται τουλάχιστον 3n/10 στοιχεία (Η απόδειξη παραλείπεται).
∆ηλαδή µε άλλα λόγια η αναδροµή της QuickSelect θα γίνει για το πολύ
7n/10 στοιχεία.
)(...)(
5
)(
.
nn
n
TnT
ί
Θ==Θ+





=
αςκυριαρχθ
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
3. Ο αλγόριθµος επιλογης QuickSelect (4. Παραλλαγή µε τη διαδικασία Πεντάδων)
20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Ενσωµατώνουµε την διαδικασία επιλογής οδηγού στοιχείου στον
προηγούµενο κώδικα:
procedure QuickSelect(A,start,finish,k)
if start=finish then
return A[start]
elseelse
Επιλογή στοιχείου m µε την διαδικασία των 5-άδων.
swap(A[m],A[start])
pos=Partition(A,start,finish)
if k=pos then
return A[pos]
else if k<pos then
return QuickSelect(A,start,pos-1,k)
else if k>pos then
return QuickSelect(A,pos+1,finish,k-pos)
end if
end if
end procedure
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
3. Ο αλγόριθµος επιλογης QuickSelect (4. Παραλλαγή µε τη διαδικασία Πεντάδων)
21∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
Η αναδροµική σχέση που περιγράφει την τελική πολυπλοκότητα του
αλγορίθµου είναι:
Για να λύσουµε ένα πρόβληµα µεγέθους n:
Οι πεντάδες θέλουν χρόνο Θ(n)Οι πεντάδες θέλουν χρόνο Θ(n)
Η διαδικασία Partition θέλει χρόνο Θ(n)
Η αναδροµική κλήση θα γίνει για ένα πρόβληµα µεγέθους το πολύ
7n/10, συνεπώς ο χρόνος που απαιτείται είναι Τ(7n/10)
Συνεπώς:
Αυτή είναι και η χειρότερη περίπτωση, άρα τελικά έχουµε T(n)=O(n)
)(...)(
10
7
)(
.
nn
n
TnT
ί
Θ==Θ+





=
αςκυριαρχθ
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
4. Ο αλγόριθµος πολλαπλασιασµού πινάκων Strassen
22∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
ΠΡΟΒΛΗΜΑ: Να υπολογιστεί το γινόµενο δύο nxn πινάκων Α και Β.






++
++
=





×





=
=×=
2222122121221121
2212121121121111
2221
1211
2221
1211
babababa
babababa
bb
bb
aa
aa
C
BAC
Αλγόριθµοι:
Εφαρµογή του γνωστού αλγορίθµου από ΠΛΗ12. Η πολυπλοκότητα του
είναι Θ(n2).
Αλγόριθµος του Strassen: Εφαρµογή του ∆ιαίρει και Βασίλευε:
Πολυπλοκότητα: Θ(n2,81)
Ακόµη καλύτεροι αλγόριθµοι ∆ιαίρει και Βασίλευε. Η καλύτερη
πολυπλοκότητα µέχρι στιγµής: Θ(n2,38)
 ++ 222212212122112122212221 bababababbaa
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
4. Ο αλγόριθµος πολλαπλασιασµού πινάκων Strassen
O γνωστός αλγόριθµος πολλαπλασιασµού διδιάστατων πινάκων µπορεί να
υλοποιηθεί σε ψευδογλώσσα ως εξής:
23∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
procedure MultMatrix(A,B)
for (i=1 to n)
for (j=1 to n)
C[i][j]=0;
Η πολυπλοκότητα είναι:
C[i][j]=0;
for (k=1 to n)
C[i][j]=C[i][j]+A[i][k]*B[k][j];
end for
end for
end for
return C
end procedure
( ) )(...)1()1()( 3
nnnnnT Θ==Θ⋅+Θ⋅⋅=
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
4. Ο αλγόριθµος πολλαπλασιασµού πινάκων Strassen
Strassen ‘70: Εφαρµογή του διαίρει και βασίλευε (θεωρώ ότι n άρτιος)
Οι πίνακες Α και Β σπάνε στους πίνακες:
24∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε






= 1211
AA
AA
A 





= 1211
BB
BB
B
Όπου κάθε ένας από τους υποπίνακες έχει µέγεθος n/2 x n/2
O Strassen προσπάθησε να υπολογίσει το γινόµενο C=AxB
κατασκευάζοντας τον πίνακα:



 2221 AA 



=
2221 BB
B






=
2221
1211
CC
CC
C
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
4. Ο αλγόριθµος πολλαπλασιασµού πινάκων Strassen
1η προσέγγιση: Ισχύει ότι:
25∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
2222122122
2122112121
2212121112
2112111111
BABAC
BABAC
BABAC
BABAC
+=
+=
+=
+=
Αντί να κάνουµε τον nxn πολ/µο των πινάκων.
∆ΙΑΣΠΑΣΗ: Γίνονται 8 πολ/µοι n/2 x n/2 πινάκων
ΕΠΙΛΥΣΗ: Αναδροµικά µε τον ίδιο τρόπο.
ΣΥΝΘΕΣΗ ΛΥΣΕΩΝ: 4 προσθέσεις nx2 x nx2 πινάκων
Άρα για να λύσω ένα πρόβληµα µεγέθους n, λύνω 8 υποπροβλήµατα
µεγέθους n/2 και συνδυάζω τις λύσεις σε χρόνο Θ(n2)
Η πολυπλοκότητα είναι:
Καµία βελτίωση σε σχέση µε τον
προφανή αλγόριθµο
2222122122 BABAC +=
)(...)(
2
8)( 32
nn
n
TnT
remMasterTheo
Θ==Θ+





=
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
4. Ο αλγόριθµος πολλαπλασιασµού πινάκων Strassen
1η προσέγγιση: Ισχύει ότι:
26∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
2222122122
2122112121
2212121112
2112111111
BABAC
BABAC
BABAC
BABAC
+=
+=
+=
+=
Αντί να κάνουµε τον nxn πολ/µο των πινάκων.
∆ΙΑΣΠΑΣΗ: Γίνονται 8 πολ/µοι n/2 x n/2 πινάκων
ΕΠΙΛΥΣΗ: Αναδροµικά µε τον ίδιο τρόπο.
ΣΥΝΘΕΣΗ ΛΥΣΕΩΝ: 4 προσθέσεις nx2 x nx2 πινάκων
Άρα για να λύσω ένα πρόβληµα µεγέθους n, λύνω 8 υποπροβλήµατα
µεγέθους n/2 και συνδυάζω τις λύσεις σε χρόνο Θ(n2)
Η πολυπλοκότητα είναι:
Καµία βελτίωση σε σχέση µε τον
προφανή αλγόριθµο
2222122122 BABAC +=
)(...)(
2
8)( 32
nn
n
TnT
remMasterTheo
Θ==Θ+





=
Β. Θεωρία
1. ∆ιαίρει και Βασίλευε
4. Ο αλγόριθµος πολλαπλασιασµού πινάκων Strassen
2η προσέγγιση (Strassen): Βρήκε ότι µπορεί να παρει το ίδιο αποτέλεσµα µε τις
εξής πράξεις:
27∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
))((
))((
21123
11112
1112221122211
BBAAM
BAM
BAM
BBBAAAM
−−=
=
=
+−−+=
742121
652112
3211
MMMMC
MMMMC
MMMMC
MMC
+++=
−++=
+++=
+=
)(
)(
))((
22221121126
111222215
BBBBAM
BAAAAM
BBAAM
−−+=
−+−=
−+=
Αντί να κάνουµε τον nxn πολ/µο των πινάκων.
∆ΙΑΣΠΑΣΗ: Γίνονται 7 πολ/µοι n/2 x n/2 πινάκων
ΕΠΙΛΥΣΗ: Αναδροµικά µε τον ίδιο τρόπο.
ΣΥΝΘΕΣΗ ΛΥΣΕΩΝ: 24 προσθαφαιρέσεις nx2 x nx2 πινάκων
Άρα για να λύσω ένα πρόβληµα µεγέθους n, λύνω 7 υποπροβλήµατα µεγέθους
n/2 και συνδυάζω τις λύσεις σε χρόνο Θ(n2)
Η πολυπλοκότητα είναι:
Υπάρχουν και ακόµη καλύτερες διασπάσεις που φτάνουν την πολυπλοκότητα
µέχρι και Θ(n2,37). Ωστόσο ισχύει ότι κάθε αλγόριθµος πολ/µου πινάκων θα έχει
πολυπλοκότητα Ω(n2)
))(( 122221114 BBAAM −−=
)(...)(
2
7)( 81,22
nn
n
TnT
remMasterTheo
Θ==Θ+





=
542122 MMMMC +++=)( 21122211227 BBBBAM −−+=
Γ. Ασκήσεις
Εφαρµογή 1
Ας υποθέσουµε ότι έχουµε να επιλέξουµε ανάµεσα στους ακόλουθους τρεις
αλγόριθµους:
I. Ο αλγόριθµος A λύνει προβλήµατα µεγέθους n µε το να επιλύει
αναδροµικά οκτώ υποπροβλήµατα του µισού µεγέθους το καθένα, και
συνδυάζοντας τις λύσεις τους σε γραµµικό χρόνο ως προς n.
28∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
II. Ο αλγόριθµος B λύνει προβλήµατα µεγέθους n µε το να επιλύει
αναδροµικά ένα υποπρόβληµα µεγέθους n-1 και, στην συνέχεια,
συνάγει την τελική λύση σε χρόνο O(n).
III. Ο αλγόριθµος Γ λύνει προβλήµατα µεγέθους n µε το να επιλύει
αναδροµικά εννιά υποπροβλήµατα µεγέθους n/3 και συνδυάζοντας τις
λύσεις τους σε Ω(n2) χρόνο.
Ποιοι είναι οι ασυµπτωτικοί χρόνοι εκτέλεσης για καθένα από τους τρεις
αλγορίθµους και ποιον από αυτούς θα διαλέγατε µε βάση την ασυµπτωτική
του πολυπλοκότητα?
Γ. Ασκήσεις
Εφαρµογή 2
Ας υποθέσουµε ότι έχουµε να επιλέξουµε ανάµεσα στους ακόλουθους τρεις
αλγόριθµους:
I. Ο αλγόριθµος A λύνει προβλήµατα µεγέθους n µε το να επιλύει
αναδροµικά ένα υποπρόβληµα, µεγέθους 1/4 του αρχικού
προβλήµατος, ενώ ο χρόνος που απαιτείται για να βρεθεί το
πρόβληµα αυτό (µεγέθους n/4) από το αρχικό (µεγέθους n) είναι
29∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε
πρόβληµα αυτό (µεγέθους n/4) από το αρχικό (µεγέθους n) είναι
γραµµικός ως προς n.
II. Ο αλγόριθµος B λύνει προβλήµατα µεγέθους n µε το να επιλύει
αναδροµικά ένα υποπρόβληµα µεγέθους n/2 και, στην συνέχεια,
συνάγει την τελική λύση σε Ω(n3).
III. Ο αλγόριθµος Γ λύνει προβλήµατα µεγέθους n µε το να επιλύει
αναδροµικά τέσσερα υποπροβλήµατα µεγέθους n/2 και συνδυάζοντας
τις λύσεις τους σε O(n2) χρόνο.
Ποιοι είναι οι ασυµπτωτικοί χρόνοι εκτέλεσης για καθένα από τους τρεις
αλγορίθµους και ποιον από αυτούς θα διαλέγατε µε βάση την ασυµπτωτική
του πολυπλοκότητα?

Más contenido relacionado

La actualidad más candente

ΠΛΗ30 Τυπολόγιο Ενότητας 1
ΠΛΗ30 Τυπολόγιο Ενότητας 1ΠΛΗ30 Τυπολόγιο Ενότητας 1
ΠΛΗ30 Τυπολόγιο Ενότητας 1Dimitris Psounis
 
ΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ
ΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ
ΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝDimitris Psounis
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ Dimitris Psounis
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 Dimitris Psounis
 
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 1ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 1Dimitris Psounis
 
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2Dimitris Psounis
 
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 2ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 2Dimitris Psounis
 
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)Dimitris Psounis
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3Dimitris Psounis
 

La actualidad más candente (20)

ΠΛΗ30 Τυπολόγιο Ενότητας 1
ΠΛΗ30 Τυπολόγιο Ενότητας 1ΠΛΗ30 Τυπολόγιο Ενότητας 1
ΠΛΗ30 Τυπολόγιο Ενότητας 1
 
ΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ
ΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ
ΠΛΗ30.ΚΑΡΤΑ - ΑΝΑΛΥΣΗ ΔΙΑΔΙΚΑΣΤΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 2 - ΑΝΑΖΗΤΗΣΗ ΣΤΟΙΧΕΙΟΥ ΣΕ ΠΙΝΑΚΑ
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4in1)
 
ΠΛΗ30 ΜΑΘΗΜΑ 3.1
ΠΛΗ30 ΜΑΘΗΜΑ 3.1ΠΛΗ30 ΜΑΘΗΜΑ 3.1
ΠΛΗ30 ΜΑΘΗΜΑ 3.1
 
ΠΛΗ30 ΤΕΣΤ 1
ΠΛΗ30 ΤΕΣΤ 1ΠΛΗ30 ΤΕΣΤ 1
ΠΛΗ30 ΤΕΣΤ 1
 
ΠΛΗ30 ΤΕΣΤ 5
ΠΛΗ30 ΤΕΣΤ 5ΠΛΗ30 ΤΕΣΤ 5
ΠΛΗ30 ΤΕΣΤ 5
 
ΠΛΗ20 ΜΑΘΗΜΑ 5.1
ΠΛΗ20 ΜΑΘΗΜΑ 5.1ΠΛΗ20 ΜΑΘΗΜΑ 5.1
ΠΛΗ20 ΜΑΘΗΜΑ 5.1
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 3
 
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 1ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 1
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.6
ΠΛΗ30 ΜΑΘΗΜΑ 1.6ΠΛΗ30 ΜΑΘΗΜΑ 1.6
ΠΛΗ30 ΜΑΘΗΜΑ 1.6
 
ΠΛΗ20 ΜΑΘΗΜΑ 0.4
ΠΛΗ20 ΜΑΘΗΜΑ 0.4ΠΛΗ20 ΜΑΘΗΜΑ 0.4
ΠΛΗ20 ΜΑΘΗΜΑ 0.4
 
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
 
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 2ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 2
 
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1
ΠΛΗ30 ΕΠΑΝΑΛΗΨΗ 1
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 6 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.3 (4in1)
 
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 3
 
ΠΛΗ31 ΜΑΘΗΜΑ 2.3
ΠΛΗ31 ΜΑΘΗΜΑ 2.3ΠΛΗ31 ΜΑΘΗΜΑ 2.3
ΠΛΗ31 ΜΑΘΗΜΑ 2.3
 
ΠΛΗ20 ΜΑΘΗΜΑ 3.2
ΠΛΗ20 ΜΑΘΗΜΑ 3.2ΠΛΗ20 ΜΑΘΗΜΑ 3.2
ΠΛΗ20 ΜΑΘΗΜΑ 3.2
 

Destacado

ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1Dimitris Psounis
 
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2Dimitris Psounis
 
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.4 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.4 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.4 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.4 (4in1)Dimitris Psounis
 
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4Dimitris Psounis
 
ΠΛΗ30 ΚΑΡΤΑ 1.4 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.4 (4sl)ΠΛΗ30 ΚΑΡΤΑ 1.4 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.4 (4sl)Dimitris Psounis
 
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3Dimitris Psounis
 
ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2
ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2
ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2Dimitris Psounis
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ Dimitris Psounis
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4sl)
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4sl)ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4sl)
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4sl)Dimitris Psounis
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.5 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.5 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.5 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.5 (4in1)Dimitris Psounis
 
ΠΛΗ30 ΚΑΡΤΑ 1.5 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.5 (4sl)ΠΛΗ30 ΚΑΡΤΑ 1.5 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.5 (4sl)Dimitris Psounis
 
ΠΛΗ30 ΚΑΡΤΑ 1.3 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.3 (4sl)ΠΛΗ30 ΚΑΡΤΑ 1.3 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.3 (4sl)Dimitris Psounis
 
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3Dimitris Psounis
 

Destacado (20)

ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑΤΟΣ 2.1
 
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
 
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 2.2 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.4 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.4 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.4 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.4 (4in1)
 
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.4
 
ΠΛΗ30 ΚΑΡΤΑ 1.4 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.4 (4sl)ΠΛΗ30 ΚΑΡΤΑ 1.4 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.4 (4sl)
 
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3
ΠΛΗ30 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.3
 
ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2
ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2
ΠΛΗ30 ΤΥΠΟΛΟΓΙΟ ΕΝΟΤΗΤΑΣ 2
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ
ΠΛΗ30 ΜΑΘΗΜΑ 1.6 ΚΑΡΤΑ
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4sl)
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4sl)ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4sl)
ΠΛΗ30 ΜΑΘΗΜΑ 1.1 (4sl)
 
ΠΛΗ30 ΜΑΘΗΜΑ 1.5 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.5 (4in1)ΠΛΗ30 ΜΑΘΗΜΑ 1.5 (4in1)
ΠΛΗ30 ΜΑΘΗΜΑ 1.5 (4in1)
 
ΠΛΗ30 ΚΑΡΤΑ 1.5 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.5 (4sl)ΠΛΗ30 ΚΑΡΤΑ 1.5 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.5 (4sl)
 
ΠΛΗ30 ΚΑΡΤΑ 1.5
ΠΛΗ30 ΚΑΡΤΑ 1.5ΠΛΗ30 ΚΑΡΤΑ 1.5
ΠΛΗ30 ΚΑΡΤΑ 1.5
 
ΠΛΗ30 ΚΑΡΤΑ 1.3 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.3 (4sl)ΠΛΗ30 ΚΑΡΤΑ 1.3 (4sl)
ΠΛΗ30 ΚΑΡΤΑ 1.3 (4sl)
 
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3
ΠΛΗ30 ΚΑΡΤΑ ΜΑΘΗΜΑ 1.3
 

Similar a ΠΛΗ30 ΜΑΘΗΜΑ 2.1

Numerical_Methods_and_Computational_Tools
Numerical_Methods_and_Computational_ToolsNumerical_Methods_and_Computational_Tools
Numerical_Methods_and_Computational_ToolsSophia Tsiopou
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 Dimitris Psounis
 
Τεστ προσομοίωσης πανελλαδικών 2016 συστημάτων ψηφιακών
Τεστ προσομοίωσης πανελλαδικών 2016 συστημάτων ψηφιακώνΤεστ προσομοίωσης πανελλαδικών 2016 συστημάτων ψηφιακών
Τεστ προσομοίωσης πανελλαδικών 2016 συστημάτων ψηφιακώνTheodoros Leftheroudis
 
Απαλοιφή του Γκάους
Απαλοιφή του ΓκάουςΑπαλοιφή του Γκάους
Απαλοιφή του ΓκάουςManolis Vavalis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 Dimitris Psounis
 

Similar a ΠΛΗ30 ΜΑΘΗΜΑ 2.1 (9)

Numerical_Methods_and_Computational_Tools
Numerical_Methods_and_Computational_ToolsNumerical_Methods_and_Computational_Tools
Numerical_Methods_and_Computational_Tools
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7 ΠΛΗ10 ΜΑΘΗΜΑ 2.7
ΠΛΗ10 ΜΑΘΗΜΑ 2.7
 
ΠΛΗ10 ΜΑΘΗΜΑ 1.2
ΠΛΗ10 ΜΑΘΗΜΑ 1.2ΠΛΗ10 ΜΑΘΗΜΑ 1.2
ΠΛΗ10 ΜΑΘΗΜΑ 1.2
 
Τεστ προσομοίωσης πανελλαδικών 2016 συστημάτων ψηφιακών
Τεστ προσομοίωσης πανελλαδικών 2016 συστημάτων ψηφιακώνΤεστ προσομοίωσης πανελλαδικών 2016 συστημάτων ψηφιακών
Τεστ προσομοίωσης πανελλαδικών 2016 συστημάτων ψηφιακών
 
Απαλοιφή του Γκάους
Απαλοιφή του ΓκάουςΑπαλοιφή του Γκάους
Απαλοιφή του Γκάους
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 2
 
ΠΛΗ30 ΜΑΘΗΜΑ 6.1
ΠΛΗ30 ΜΑΘΗΜΑ 6.1ΠΛΗ30 ΜΑΘΗΜΑ 6.1
ΠΛΗ30 ΜΑΘΗΜΑ 6.1
 
ΠΛΗ31 ΜΑΘΗΜΑ 1.1
ΠΛΗ31 ΜΑΘΗΜΑ 1.1ΠΛΗ31 ΜΑΘΗΜΑ 1.1
ΠΛΗ31 ΜΑΘΗΜΑ 1.1
 
ΠΛΗ31 ΤΕΣΤ 18
ΠΛΗ31 ΤΕΣΤ 18ΠΛΗ31 ΤΕΣΤ 18
ΠΛΗ31 ΤΕΣΤ 18
 

Más de Dimitris Psounis

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣDimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Dimitris Psounis
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)Dimitris Psounis
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣDimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣDimitris Psounis
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Dimitris Psounis
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CDimitris Psounis
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6Dimitris Psounis
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)Dimitris Psounis
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 Dimitris Psounis
 

Más de Dimitris Psounis (20)

Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 4 - ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΑΦΟΡΕΣ (4διαφ)
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)
 
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣΗ ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ
 
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ CC++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C
 
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 6
 
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
ΠΛΗ20 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 5
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.2
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
ΠΛΗ10 ΚΑΡΤΕΣ ΜΑΘΗΜΑΤΟΣ 2.1
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8 (ΕΚΤΥΠΩΣΗ)
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 7 (ΕΚΤΥΠΩΣΗ)
 
ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33ΠΛΗ31 - ΤΕΣΤ 33
ΠΛΗ31 - ΤΕΣΤ 33
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 6
 

Último

Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 12ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη στο 12ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptxAthina Tziaki
 
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
9.SPSS και δείκτες περιγραφικής στατιστικής.pdfssuser2f8893
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx36dimperist
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑDimitra Mylonaki
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008Θεόδωρος Μαραγκούλας
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψειςDimitra Mylonaki
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx36dimperist
 
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 10ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη στο 10ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxeucharis
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΧρύσα Παπακωνσταντίνου
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYEKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYssuser369a35
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx36dimperist
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηTheodora Chandrinou
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .Dimitra Mylonaki
 

Último (20)

ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 12ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
 
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
 
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
9.SPSS και δείκτες περιγραφικής στατιστικής.pdf
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψεις
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
 
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 10ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
 
Σεβασμός .
Σεβασμός                                   .Σεβασμός                                   .
Σεβασμός .
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
 
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYEKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .
 

ΠΛΗ30 ΜΑΘΗΜΑ 2.1

  • 1. ΠΛΗ30 ΕΝΟΤΗΤΑ 2: ΣΧΕ∆ΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ Μάθηµα 2.1: ∆ιαίρει και Βασίλευε∆ιαίρει και Βασίλευε ∆ηµήτρης Ψούνης
  • 2. ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήµατος 1. ∆ιαίρει και Βασίλευε 1. Ο αλγόριθµος MergeSort(Ταξινόµησης µε Συγχώνευση) 2. Ο αλγόριθµος QuickSort (Γρήγορη Ταξινόµηση) 3. Ο αλγόριθµος QuickSelect (Γρήγορη Επιλογή) 4. Ο αλγόριθµος Strassen για τον πολ/µο πινάκων Β.Ασκήσεις 2∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Β.Ασκήσεις 1. Εφαρµογές
  • 3. Α. Σκοπός του Μαθήµατος Οι στόχοι του µαθήµατος είναι: Επίπεδο Α (-) Επίπεδο Β Η τεχνική σχεδίασης αλγόριθµων ∆ιαίρει και Βασίλευε 3∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Η τεχνική σχεδίασης αλγόριθµων ∆ιαίρει και Βασίλευε Επίπεδο Γ Ο αλγόριθµος Γρήγορης Ταξινόµησης (QuickSort) Ο αλγόριθµος Επιλογής του k-µικρότερου αριθµού σε έναν πίνακα Ο αλγόριθµος Πολλαπλασιασµού Πινάκων Strassen
  • 4. B. Θεωρία Τεχνικές Σχεδίασης Αλγορίθµων 4∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Στην 2η ενότητα του µαθήµατος ασχολούµαστε µε τεχνικές που έχουν αναπτυχθεί, ως γενικές µεθοδολογίες για την κατασκευή ενός αλγορίθµου: Η τεχνική ∆ιαίρει και Βασίλευε (Μάθηµα 2.1) Η τεχνική του ∆υναµικού Προγραµµατισµού (Μάθηµα 2.2) Η κατασκευή των Άπληστων Αλγόριθµων (Μάθηµα 2.3) Υπάρχουν ακόµη δεκάδες τεχνικές κατασκευής αλγορίθµων που είναι εκτός ύλης.
  • 5. B. Θεωρία 1. ∆ιαίρει και Βασίλευε 5∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε ∆ΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ Ένας αλγόριθµος διαίρει και βασίλευε συνίσταται από τα εξής βήµατα: 1. ΒΗΜΑ ∆ΙΑΙΡΕΣΗΣ: ∆ιάσπαση του αρχικού προβλήµατος σε µικρότερα επιµέρους υποπροβλήµατα. 2. ΒΗΜΑ ΕΠΙΛΥΣΗΣ ΕΠΙΜΕΡΟΥΣ ΣΤΙΓΜΙΟΤΥΠΩΝ: Επίλυση των επιµέρους υποπροβληµάτων (µε αναδροµικές κλήσεις του ίδιου αλγόριθµου) 3. ΒΗΜΑ ΣΥΝΘΕΣΗΣ ΛΥΣΕΩΝ: Υπολογισµός της λύσης του αρχικού προβλήµατος, από τις επιµέρους λύσεις των υποπροβληµάτων.
  • 6. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 1. Ο αλγόριθµος ταξινόµησης MergeSort 6∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Ο αλγόριθµος ταξινόµησης MergeSort (Ο αλγόριθµος Ταξινόµησης µε Συγχώνευση) είναι εφαρµογή του ∆ιαίρει και Βασίλευε: 1. ΒΗΜΑ ∆ΙΑΙΡΕΣΗΣ: Ο πίνακας χωρίζεται σε δύο µέρη: τον πίνακα και τον πίνακα ],...,[ 1 naaA = ],...,[ 2/11 naaA = ],...,[ 12/2 nn aaA += Η πολυπλοκότητα του αλγορίθµου είναι: 2. ΒΗΜΑ ΕΠΙΛΥΣΗΣ ΕΠΙΜΕΡΟΥΣ ΣΤΙΓΜΙΟΤΥΠΩΝ: Η επίλυση των δύο υποπροβληµάτων που προκύπτουν γίνονται µε αναδροµικές κλήσεις του MergeSort. 3. ΒΗΜΑ ΣΥΝΘΕΣΗΣ ΛΥΣΕΩΝ: Η συγχώνευση των δύο πινάκων γίνεται µε την διαδικασία Merge (βλέπε Μάθηµα 1.4) σε γραµµικό χρόνο 2/11 n 12/2 nn + )log(...)( 2 2)( nnn n TnT Θ==Θ+      =
  • 7. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 2. Ο αλγόριθµος ταξινόµησης QuickSort 7∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Ο αλγόριθµος ταξινόµησης QuickSort (Ο αλγόριθµος Γρήγορης Ταξινόµησης) είναι επίσης εφαρµογή του ∆ιαίρει και Βασίλευε: 1. ΒΗΜΑ ∆ΙΑΙΡΕΣΗΣ: Ο πίνακας χωρίζεται σε δύο µέρη: τον πίνακα Α1 που περιεχει όλα τα στοιχεία που είναι µικρότερα από το α1 και ],...,[ 1 naaA = 1 1 τον Α2 που περιέχει όλα τα στοιχεία που είναι µεγαλύτερα από το α1 2. ΒΗΜΑ ΕΠΙΛΥΣΗΣ ΕΠΙΜΕΡΟΥΣ ΣΤΙΓΜΙΟΤΥΠΩΝ: Η επίλυση των δύο υποπροβληµάτων (ταξινόµηση των υποπινάκων Α1 και Α2) που προκύπτουν γίνονται µε αναδροµικές κλήσεις του QuickSort. 3. ΒΗΜΑ ΣΥΝΘΕΣΗΣ ΛΥΣΕΩΝ: Ο πίνακας A = [A1]α1[A2]
  • 8. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 2. Ο αλγόριθµος ταξινόµησης QuickSort (1.Ψευδοκώδικας) 8∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Παρακάτω φαίνεται µια υλοποίηση της διαδικασίας QuickSort: procedure QuickSort(A,start,finish) if start<finish then pos=Partition(A,start,finish) QuickSort(A,start,pos-1) QuickSort(A,pos+1,finish) end ifend if end procedure procedure Partition(A,start,finish) odigo=A[start] i=start; j=finish for (k=start+1 to finish) if (A[k]>odigo) B[j]=A[k]; j=j-1 else B[i]=A[k]; i=i+1 end for B[i]=odigo; Α=Β return pos; end procedure
  • 9. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 2. Ο αλγόριθµος ταξινόµησης QuickSort (2.Παράδειγµα Εκτέλεσης) 9∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Ας τρέξουµε ένα παράδειγµα εκτέλεσης της Partition: B.1 B.2 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7k i j 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7 4k i j 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 B.3 B.4 B.5 B.6 B.7 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7 4 11k i j 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7 4 18 11k i j 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7 4 20 18 11k i j 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7 4 6 20 18 11k i j 1 2 3 4 5 6 7 8 9 7 4 11 18 20 6 1 1 2 3 4 5 6 7 8 7 4 6 1 20 18 11k i j 1 2 3 4 5 6 7 8 7 4 6 1 9 20 18 11
  • 10. Ο αλγόριθµος ταξινόµησης QuickSort (2.Παράδειγµα Εκτέλεσης) 10∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 7 4 11 9 6 1 14 5 2 3 10 13 18 19 22 20 1 2 3 4 5 6 7 8 9 10 11 12 7 4 11 9 6 1 14 5 2 3 10 13 4 6 1 5 2 3 7 13 10 14 9 11 14 15 16 19 22 20 19 20 22 1 2 3 4 5 6 4 6 1 5 2 3 1 2 3 4 5 6 8 9 10 11 12 13 10 14 9 11 10 9 11 13 14 15 16 20 22 20 221 2 3 4 5 6 10 9 11 13 14 20 22 16 22 22 1 2 3 1 2 3 1 3 2 5 6 5 6 5 6 8 9 10 10 9 11 9 10 11 12 14 14 6 6 6 2 3 3 2 2 3 2 2 2 8 9 9 10 11 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 9 10 11 13 14 18 19 20 22
  • 11. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 2. Ο αλγόριθµος ταξινόµησης QuickSort (3. Ανάλυση) 11∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Η διαδικασία του Partition έχει πολυπλοκότητα Θ(n) Ανάλυση Καλύτερης Περίπτωσης: Όταν το σπάσιµο γίνεται στην µέση του πίνακα. Τότε προκύπτει η αναδροµή: )log(...)(2)( . nnn n TnT ί Θ==Θ+    = αςκυριαρχθ Ανάλυση Χειρότερης Περίπτωσης: Όταν το σπάσιµο γίνεται στην µέση του πίνακα. Τότε προκύπτει η αναδροµή: Στην µέση περίπτωση? )log(...)( 2 2)( nnn n TnT Θ==Θ+      = ( ) )(...)(1)( 2 . nnnTnT Θ==Θ+−= επαναληψηςµεθ
  • 12. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 2. Ο αλγόριθµος ταξινόµησης QuickSort (3. Ανάλυση) 12∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Ανάλυση Μέσης Περίπτωσης: Αν θεωρήσουµε ότι είναι ισοπίθανα τα δυνατά σπασίµατα του πίνακα σε δύο κοµµάτια τότε κατά µέσο όρο οι πράξεις του αλγορίθµου θα δίνονται από την αναδροµική σχέση: [ ] [ ] [ ]nTnTnnTnnTT nT )()0()1(...)()2()1()()1()0( )( Θ++−++Θ+−Τ++Θ+−+ = Ή πιο απλά: Και τελικά Για την οποία αποδεικνύεται ότι ισχύει T(n)=Θ(nlogn) [ ] [ ] [ ] n nT )( = [ ] n nnnTTT nT )()(...)1()0(2 )( Θ++++ = [ ] )( )(...)1()0(2 )( n n nTTT nT Θ+ +++ =
  • 13. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 3. Ο αλγόριθµος επιλογης QuickSelect 13∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε ΠΡΟΒΛΗΜΑ: ∆ίνεται ένας αταξινόµητος πίνακας µε n στοιχεία. Ζητείται να βρεθεί το k-µικρότερο στοιχείο Παράδειγµα στιγµιοτύπου: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 Το 5-µικρότερο στοιχείο είναι το 5 Το 10-µικρότερο στοιχείο είναι το 11 Αλγόριθµοι: Προφανής Αλγόριθµος: Ταξινόµησε τον πίνακα (µε MergeSort) και επέλεξε το k-ο µικρότερο στοιχείο. Πολυπλοκότητα: Θ(nlogn) QuickSelect: Εφαρµογή ∆ιαίρει και Βασίλευε: Πολ/τα: O(n)
  • 14. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 3. Ο αλγόριθµος επιλογης QuickSelect (Ιδέα) 14∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Εκµεταλλευόµαστε τo σπάσιµο του πίνακα που κάνει η διαδικασία partition. Θα χρειάζεται κάθε φορά να ψάχνουµε έναν από τους δύο υποπίνακες που προκύπτουν µε κατάλληλη τροποποίηση του k. Έτσι αφού η διαδικασία Partition σπάει τον πίνακα ως εξής [A1] apos [A2] Αν k=pos τότε βρήκαµε το στοιχείο είναι το apos. Αν k<pos τότε ψαχνουµε στον πίνακα A1 για το k-µικρότερο στοιχείο Αν k>pos τότε ψάχνουµε στον πίνακα Α2 για το (k-n1-1)-µικρότερο στοιχείο (όπου n1 το πλήθος των στοιχείων του Α1)
  • 15. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 3. Ο αλγόριθµος επιλογης QuickSelect (1.Ψευδοκώδικας) 15∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Η υλοποιηση σε ψευδογλώσσα της παραπάνω διαδικασίας είναι η ακόλουθη: procedure QuickSelect(A,start,finish,k) if start>finish then return 0 elseelse pos=Partition(A,start,finish) if k=pos then return A[pos] else if k<pos then return QuickSelect(A,start,pos-1,k) else if k>pos then return QuickSelect(A,pos+1,finish,k-pos) end if end if end procedure
  • 16. 3. Ο αλγόριθµος επιλογης QuickSelect(2.Παράδειγµα Εκτέλεσης για k=12) 16∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 7 4 11 9 6 1 14 5 2 3 10 13 18 19 22 20 1 2 3 4 5 6 7 8 9 10 11 12 7 4 11 9 6 1 14 5 2 3 10 13 4 6 1 5 2 3 7 13 10 14 9 11 8 9 10 11 12 13 10 14 9 11 10 9 11 13 1410 9 11 13 14 12 14 14
  • 17. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 3. Ο αλγόριθµος επιλογης QuickSelect (3. Ανάλυση) 17∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Η διαδικασία του Partition έχει πολυπλοκότητα Θ(n) Ανάλυση Καλύτερης Περίπτωσης: Όταν το σπάσιµο γίνεται στην µέση του πίνακα. Τότε προκύπτει η αναδροµή: )(...)()( . nn n TnT ί Θ==Θ+    = αςκυριαρχθ Ανάλυση Χειρότερης Περίπτωσης: Όταν το σπάσιµο γίνεται στην µέση του πίνακα. Τότε προκύπτει η αναδροµή: Χρειαζόµαστε ένα πιο έξυπνο σπάσιµο σπάσιµο του πίνακα ώστε να επιτυγχάνεται ένα σπάσιµο του πίνακα περίπου στην µέση. )(...)( 2 )( nn n TnT Θ==Θ+      = ( ) )(...)(1)( 2 . nnnTnT Θ==Θ+−= επαναληψηςµεθ
  • 18. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 3. Ο αλγόριθµος επιλογης QuickSelect (4. Παραλλαγή µε τη διαδικασία Πεντάδων) 18∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Προτείνεται η διαδικασία των πεντάδων η οποία: Χωρίζει τα στοιχεία σε 5-αδες Από κάθε 5-άδα επιλέγουµε το µεσαίο στοιχειο. Επαναλαµβάνουµε αναδροµικά για τα µεσαία στοιχεία. Επιλέγουµε δηλαδή το µεσαίο των µεσαίων (των µεσαίων…) από κάθεΕπιλέγουµε δηλαδή το µεσαίο των µεσαίων (των µεσαίων…) από κάθε πεντάδα. Π.χ.: 5-άδες Νεος Πίνακας αναδροµική εκτέλεση Επιστρέφεται το 9 (επιλογή οδηγού στοιχείου) 16 13 1 2 3 4 5 18 7 4 11 9 6 7 8 9 10 20 6 1 22 19 11 12 13 14 15 14 5 2 3 10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 7 4 11 9 20 6 1 22 19 14 5 2 3 10 13 1 2 3 4 9 19 5 13
  • 19. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 3. Ο αλγόριθµος επιλογης QuickSelect (4. Παραλλαγή µε τη διαδικασία Πεντάδων) 19∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Η επιλογή του µεσαίου στοιχείου από 5 στοιχεία θέλει σταθερό χρόνο: Άρα αν ο πίνακας έχει n στοιχεία και θέλουµε συνολικά χρόνο T(n) Επιλέγουµε n/5 φορές το µεσαίο (µε χρόνο Θ(1)). Το βήµα αυτό θέλει συνολικό χρόνο Έπειτα κάνουµε µια αναδροµική κλήση για n/5 δεδοµένα. )()1( 5 n n Θ=Θ Έπειτα κάνουµε µια αναδροµική κλήση για n/5 δεδοµένα. Συνεπώς η πολυπλοκότητα της επιλογής του στοιχείου µε την διαδικασία των 5-άδων προκύπτει από την επίλυση της αναδροµικής σχέσης: Αποδεικνύεται ότι είναι πολύ καλό σπάσιµο, διότι σε κάθε βήµα θα απορρίπτονται τουλάχιστον 3n/10 στοιχεία (Η απόδειξη παραλείπεται). ∆ηλαδή µε άλλα λόγια η αναδροµή της QuickSelect θα γίνει για το πολύ 7n/10 στοιχεία. )(...)( 5 )( . nn n TnT ί Θ==Θ+      = αςκυριαρχθ
  • 20. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 3. Ο αλγόριθµος επιλογης QuickSelect (4. Παραλλαγή µε τη διαδικασία Πεντάδων) 20∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Ενσωµατώνουµε την διαδικασία επιλογής οδηγού στοιχείου στον προηγούµενο κώδικα: procedure QuickSelect(A,start,finish,k) if start=finish then return A[start] elseelse Επιλογή στοιχείου m µε την διαδικασία των 5-άδων. swap(A[m],A[start]) pos=Partition(A,start,finish) if k=pos then return A[pos] else if k<pos then return QuickSelect(A,start,pos-1,k) else if k>pos then return QuickSelect(A,pos+1,finish,k-pos) end if end if end procedure
  • 21. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 3. Ο αλγόριθµος επιλογης QuickSelect (4. Παραλλαγή µε τη διαδικασία Πεντάδων) 21∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε Η αναδροµική σχέση που περιγράφει την τελική πολυπλοκότητα του αλγορίθµου είναι: Για να λύσουµε ένα πρόβληµα µεγέθους n: Οι πεντάδες θέλουν χρόνο Θ(n)Οι πεντάδες θέλουν χρόνο Θ(n) Η διαδικασία Partition θέλει χρόνο Θ(n) Η αναδροµική κλήση θα γίνει για ένα πρόβληµα µεγέθους το πολύ 7n/10, συνεπώς ο χρόνος που απαιτείται είναι Τ(7n/10) Συνεπώς: Αυτή είναι και η χειρότερη περίπτωση, άρα τελικά έχουµε T(n)=O(n) )(...)( 10 7 )( . nn n TnT ί Θ==Θ+      = αςκυριαρχθ
  • 22. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 4. Ο αλγόριθµος πολλαπλασιασµού πινάκων Strassen 22∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε ΠΡΟΒΛΗΜΑ: Να υπολογιστεί το γινόµενο δύο nxn πινάκων Α και Β.       ++ ++ =      ×      = =×= 2222122121221121 2212121121121111 2221 1211 2221 1211 babababa babababa bb bb aa aa C BAC Αλγόριθµοι: Εφαρµογή του γνωστού αλγορίθµου από ΠΛΗ12. Η πολυπλοκότητα του είναι Θ(n2). Αλγόριθµος του Strassen: Εφαρµογή του ∆ιαίρει και Βασίλευε: Πολυπλοκότητα: Θ(n2,81) Ακόµη καλύτεροι αλγόριθµοι ∆ιαίρει και Βασίλευε. Η καλύτερη πολυπλοκότητα µέχρι στιγµής: Θ(n2,38)  ++ 222212212122112122212221 bababababbaa
  • 23. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 4. Ο αλγόριθµος πολλαπλασιασµού πινάκων Strassen O γνωστός αλγόριθµος πολλαπλασιασµού διδιάστατων πινάκων µπορεί να υλοποιηθεί σε ψευδογλώσσα ως εξής: 23∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε procedure MultMatrix(A,B) for (i=1 to n) for (j=1 to n) C[i][j]=0; Η πολυπλοκότητα είναι: C[i][j]=0; for (k=1 to n) C[i][j]=C[i][j]+A[i][k]*B[k][j]; end for end for end for return C end procedure ( ) )(...)1()1()( 3 nnnnnT Θ==Θ⋅+Θ⋅⋅=
  • 24. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 4. Ο αλγόριθµος πολλαπλασιασµού πινάκων Strassen Strassen ‘70: Εφαρµογή του διαίρει και βασίλευε (θεωρώ ότι n άρτιος) Οι πίνακες Α και Β σπάνε στους πίνακες: 24∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε       = 1211 AA AA A       = 1211 BB BB B Όπου κάθε ένας από τους υποπίνακες έχει µέγεθος n/2 x n/2 O Strassen προσπάθησε να υπολογίσει το γινόµενο C=AxB κατασκευάζοντας τον πίνακα:     2221 AA     = 2221 BB B       = 2221 1211 CC CC C
  • 25. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 4. Ο αλγόριθµος πολλαπλασιασµού πινάκων Strassen 1η προσέγγιση: Ισχύει ότι: 25∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε 2222122122 2122112121 2212121112 2112111111 BABAC BABAC BABAC BABAC += += += += Αντί να κάνουµε τον nxn πολ/µο των πινάκων. ∆ΙΑΣΠΑΣΗ: Γίνονται 8 πολ/µοι n/2 x n/2 πινάκων ΕΠΙΛΥΣΗ: Αναδροµικά µε τον ίδιο τρόπο. ΣΥΝΘΕΣΗ ΛΥΣΕΩΝ: 4 προσθέσεις nx2 x nx2 πινάκων Άρα για να λύσω ένα πρόβληµα µεγέθους n, λύνω 8 υποπροβλήµατα µεγέθους n/2 και συνδυάζω τις λύσεις σε χρόνο Θ(n2) Η πολυπλοκότητα είναι: Καµία βελτίωση σε σχέση µε τον προφανή αλγόριθµο 2222122122 BABAC += )(...)( 2 8)( 32 nn n TnT remMasterTheo Θ==Θ+      =
  • 26. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 4. Ο αλγόριθµος πολλαπλασιασµού πινάκων Strassen 1η προσέγγιση: Ισχύει ότι: 26∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε 2222122122 2122112121 2212121112 2112111111 BABAC BABAC BABAC BABAC += += += += Αντί να κάνουµε τον nxn πολ/µο των πινάκων. ∆ΙΑΣΠΑΣΗ: Γίνονται 8 πολ/µοι n/2 x n/2 πινάκων ΕΠΙΛΥΣΗ: Αναδροµικά µε τον ίδιο τρόπο. ΣΥΝΘΕΣΗ ΛΥΣΕΩΝ: 4 προσθέσεις nx2 x nx2 πινάκων Άρα για να λύσω ένα πρόβληµα µεγέθους n, λύνω 8 υποπροβλήµατα µεγέθους n/2 και συνδυάζω τις λύσεις σε χρόνο Θ(n2) Η πολυπλοκότητα είναι: Καµία βελτίωση σε σχέση µε τον προφανή αλγόριθµο 2222122122 BABAC += )(...)( 2 8)( 32 nn n TnT remMasterTheo Θ==Θ+      =
  • 27. Β. Θεωρία 1. ∆ιαίρει και Βασίλευε 4. Ο αλγόριθµος πολλαπλασιασµού πινάκων Strassen 2η προσέγγιση (Strassen): Βρήκε ότι µπορεί να παρει το ίδιο αποτέλεσµα µε τις εξής πράξεις: 27∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε ))(( ))(( 21123 11112 1112221122211 BBAAM BAM BAM BBBAAAM −−= = = +−−+= 742121 652112 3211 MMMMC MMMMC MMMMC MMC +++= −++= +++= += )( )( ))(( 22221121126 111222215 BBBBAM BAAAAM BBAAM −−+= −+−= −+= Αντί να κάνουµε τον nxn πολ/µο των πινάκων. ∆ΙΑΣΠΑΣΗ: Γίνονται 7 πολ/µοι n/2 x n/2 πινάκων ΕΠΙΛΥΣΗ: Αναδροµικά µε τον ίδιο τρόπο. ΣΥΝΘΕΣΗ ΛΥΣΕΩΝ: 24 προσθαφαιρέσεις nx2 x nx2 πινάκων Άρα για να λύσω ένα πρόβληµα µεγέθους n, λύνω 7 υποπροβλήµατα µεγέθους n/2 και συνδυάζω τις λύσεις σε χρόνο Θ(n2) Η πολυπλοκότητα είναι: Υπάρχουν και ακόµη καλύτερες διασπάσεις που φτάνουν την πολυπλοκότητα µέχρι και Θ(n2,37). Ωστόσο ισχύει ότι κάθε αλγόριθµος πολ/µου πινάκων θα έχει πολυπλοκότητα Ω(n2) ))(( 122221114 BBAAM −−= )(...)( 2 7)( 81,22 nn n TnT remMasterTheo Θ==Θ+      = 542122 MMMMC +++=)( 21122211227 BBBBAM −−+=
  • 28. Γ. Ασκήσεις Εφαρµογή 1 Ας υποθέσουµε ότι έχουµε να επιλέξουµε ανάµεσα στους ακόλουθους τρεις αλγόριθµους: I. Ο αλγόριθµος A λύνει προβλήµατα µεγέθους n µε το να επιλύει αναδροµικά οκτώ υποπροβλήµατα του µισού µεγέθους το καθένα, και συνδυάζοντας τις λύσεις τους σε γραµµικό χρόνο ως προς n. 28∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε II. Ο αλγόριθµος B λύνει προβλήµατα µεγέθους n µε το να επιλύει αναδροµικά ένα υποπρόβληµα µεγέθους n-1 και, στην συνέχεια, συνάγει την τελική λύση σε χρόνο O(n). III. Ο αλγόριθµος Γ λύνει προβλήµατα µεγέθους n µε το να επιλύει αναδροµικά εννιά υποπροβλήµατα µεγέθους n/3 και συνδυάζοντας τις λύσεις τους σε Ω(n2) χρόνο. Ποιοι είναι οι ασυµπτωτικοί χρόνοι εκτέλεσης για καθένα από τους τρεις αλγορίθµους και ποιον από αυτούς θα διαλέγατε µε βάση την ασυµπτωτική του πολυπλοκότητα?
  • 29. Γ. Ασκήσεις Εφαρµογή 2 Ας υποθέσουµε ότι έχουµε να επιλέξουµε ανάµεσα στους ακόλουθους τρεις αλγόριθµους: I. Ο αλγόριθµος A λύνει προβλήµατα µεγέθους n µε το να επιλύει αναδροµικά ένα υποπρόβληµα, µεγέθους 1/4 του αρχικού προβλήµατος, ενώ ο χρόνος που απαιτείται για να βρεθεί το πρόβληµα αυτό (µεγέθους n/4) από το αρχικό (µεγέθους n) είναι 29∆ηµήτρης Ψούνης, ΠΛΗ30, Μάθηµα 2.1: ∆ιαίρει και Βασίλευε πρόβληµα αυτό (µεγέθους n/4) από το αρχικό (µεγέθους n) είναι γραµµικός ως προς n. II. Ο αλγόριθµος B λύνει προβλήµατα µεγέθους n µε το να επιλύει αναδροµικά ένα υποπρόβληµα µεγέθους n/2 και, στην συνέχεια, συνάγει την τελική λύση σε Ω(n3). III. Ο αλγόριθµος Γ λύνει προβλήµατα µεγέθους n µε το να επιλύει αναδροµικά τέσσερα υποπροβλήµατα µεγέθους n/2 και συνδυάζοντας τις λύσεις τους σε O(n2) χρόνο. Ποιοι είναι οι ασυµπτωτικοί χρόνοι εκτέλεσης για καθένα από τους τρεις αλγορίθµους και ποιον από αυτούς θα διαλέγατε µε βάση την ασυµπτωτική του πολυπλοκότητα?