1) ΑΣΥΜΠΤΩΤΙΚΟΙ ΣΥΜΒΟΛΙΣΜΟΙ
1.1) Ο ασυμπτωτικός συμβολισμός ο
1.2) Ο ασυμπτωτικός συμβολισμός Ο
1.3) Ο ασυμπτωτικός συμβολισμός Θ
1.4) Ο ασυμπτωτικός συμβολισμός Ω
1.5) Ο ασυμπτωτικός συμβολισμός ω
2) ΧΡΗΣΗ ΟΡΙΩΝ ΓΙΑ ΤΗΝ ΑΠΟΔΕΙΞΗ ΑΣΥΜΠΤΩΤΙΚΩΝ ΣΥΜΒΟΛΙΣΜΩΝ
3) ΛΗΜΜΑΤΑ ΣΤΟΥΣ ΑΣΥΜΠΤΩΤΙΚΟΥΣ ΣΥΜΒΟΛΙΣΜΟΥΣ
Ασκήσεις
1) Διαίρει και Βασίλευε
1.1) Ο αλγόριθμος MergeSort (Ταξινόμηση με Συγχώνευση)
1.2) Ο αλγόριθμος QuickSort (Γρήγορη Ταξινόμηση)
1.3) Ο αλγόριθμος QuickSelect (Γρήγορη Επιλογή)
1.4) Ο αλγόριθμος Strassen για τον πολλαπλασιασμό πινάκων
Ασκήσεις
1) ΑΣΥΜΠΤΩΤΙΚΟΙ ΣΥΜΒΟΛΙΣΜΟΙ
1.1) Ο ασυμπτωτικός συμβολισμός ο
1.2) Ο ασυμπτωτικός συμβολισμός Ο
1.3) Ο ασυμπτωτικός συμβολισμός Θ
1.4) Ο ασυμπτωτικός συμβολισμός Ω
1.5) Ο ασυμπτωτικός συμβολισμός ω
2) ΧΡΗΣΗ ΟΡΙΩΝ ΓΙΑ ΤΗΝ ΑΠΟΔΕΙΞΗ ΑΣΥΜΠΤΩΤΙΚΩΝ ΣΥΜΒΟΛΙΣΜΩΝ
3) ΛΗΜΜΑΤΑ ΣΤΟΥΣ ΑΣΥΜΠΤΩΤΙΚΟΥΣ ΣΥΜΒΟΛΙΣΜΟΥΣ
Ασκήσεις
1) Διαίρει και Βασίλευε
1.1) Ο αλγόριθμος MergeSort (Ταξινόμηση με Συγχώνευση)
1.2) Ο αλγόριθμος QuickSort (Γρήγορη Ταξινόμηση)
1.3) Ο αλγόριθμος QuickSelect (Γρήγορη Επιλογή)
1.4) Ο αλγόριθμος Strassen για τον πολλαπλασιασμό πινάκων
Ασκήσεις
1) Η αναδρομή Τ(n)=aT(n-b)+c
1.1) Επίλυση με την Μέθοδο της Επανάληψης
2) Η αναδρομή Τ(n)=T(n-1)+f(n)
2.1) Επίλυση με την Μέθοδο της Επανάληψης
3) Η αναδρομή T(n)=T(n/a)+T(n/b)+f(n)
3.1) Επίλυση με τη Μέθοδο των Φραγμάτων
3.2) Επίλυση με το Δένδρο Αναδρομής
3.3) Επίλυση με τη Δραστηριότητα 3.6
Ασκήσεις
1) Απληστοι Αλγόριθμοι
1.1) Συντομότερο Μονοπάτι σε Γράφο
1.1.1) Ο αλγόριθμος του Dijkstra
1.2) Ελάχιστο Συνδετικό Δένδρο
1.2.1) Ο αλγόριθμος του Prim
1.2.2) Ο αλγόριθμος του Kruskal
1.3) Ελαχιστοποίηση Νομισμάτων με Ρέστα
Εφαρμογές
1) Επιστροφή χρηματικού ποσού για ρέστα
2) Άπληστος Αλγόριθμος για Χρωματισμό Γραφήματος
1) Η πρωτοβάθμια γλώσσα
2) Νέα Στοιχεία σε Σχέση με την Προτασιακή γλώσσα
2.1) Τα συναρτησιακά σύμβολα
2.2) Τα κατηγορηματικά σύμβολα
2.3) Ο ποσοδείκτης για κάθε: ∀
2.4) Ο ποσοδείκτης υπάρχει: ∃
2.5) Το σύμβολο ≈
3) Το συντακτικό της Κατηγορηματικής Λογικής
3.1) Εισαγωγή
3.2) Όρος
3.3) Ατομικός Τύπος
3.4) Μη Ατομικός Τύπος
3.5) Δενδροδιάγραμμα Τύπου και Προτεραιότητα Τελεστών
3.6) Πρόταση
4) Δομές και Αποτιμήσεις
4.1) Δομή (ή Ερμηνεία)
4.2) Αποτίμηση
5) Συντομογραφίες Τύπων
5.1) Ορισμός Συντομογραφίας
5.2) Χρήση Συντομογραφίας
6) Μεταφραστικός Πίνακας
Ασκήσεις
The document discusses algorithms and their analysis. It introduces common algorithms like selection sort and nested for loops. It also covers big O notation for analyzing algorithms and describes how selection sort runs in O(n^2) time. Procedures and pseudocode are provided as examples.
1) Η αναδρομή Τ(n)=aT(n-b)+c
1.1) Επίλυση με την Μέθοδο της Επανάληψης
2) Η αναδρομή Τ(n)=T(n-1)+f(n)
2.1) Επίλυση με την Μέθοδο της Επανάληψης
3) Η αναδρομή T(n)=T(n/a)+T(n/b)+f(n)
3.1) Επίλυση με τη Μέθοδο των Φραγμάτων
3.2) Επίλυση με το Δένδρο Αναδρομής
3.3) Επίλυση με τη Δραστηριότητα 3.6
Ασκήσεις
1) Απληστοι Αλγόριθμοι
1.1) Συντομότερο Μονοπάτι σε Γράφο
1.1.1) Ο αλγόριθμος του Dijkstra
1.2) Ελάχιστο Συνδετικό Δένδρο
1.2.1) Ο αλγόριθμος του Prim
1.2.2) Ο αλγόριθμος του Kruskal
1.3) Ελαχιστοποίηση Νομισμάτων με Ρέστα
Εφαρμογές
1) Επιστροφή χρηματικού ποσού για ρέστα
2) Άπληστος Αλγόριθμος για Χρωματισμό Γραφήματος
1) Η πρωτοβάθμια γλώσσα
2) Νέα Στοιχεία σε Σχέση με την Προτασιακή γλώσσα
2.1) Τα συναρτησιακά σύμβολα
2.2) Τα κατηγορηματικά σύμβολα
2.3) Ο ποσοδείκτης για κάθε: ∀
2.4) Ο ποσοδείκτης υπάρχει: ∃
2.5) Το σύμβολο ≈
3) Το συντακτικό της Κατηγορηματικής Λογικής
3.1) Εισαγωγή
3.2) Όρος
3.3) Ατομικός Τύπος
3.4) Μη Ατομικός Τύπος
3.5) Δενδροδιάγραμμα Τύπου και Προτεραιότητα Τελεστών
3.6) Πρόταση
4) Δομές και Αποτιμήσεις
4.1) Δομή (ή Ερμηνεία)
4.2) Αποτίμηση
5) Συντομογραφίες Τύπων
5.1) Ορισμός Συντομογραφίας
5.2) Χρήση Συντομογραφίας
6) Μεταφραστικός Πίνακας
Ασκήσεις
The document discusses algorithms and their analysis. It introduces common algorithms like selection sort and nested for loops. It also covers big O notation for analyzing algorithms and describes how selection sort runs in O(n^2) time. Procedures and pseudocode are provided as examples.
ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 3 - ΚΛΑΣΕΙΣ ΚΑΙ ΔΕΙΚΤΕΣ (4δ)Dimitris Psounis
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α. Θεωρία
1.Διαχείριση Μνήμης
1.1.Στατική Δέσμευση Μνήμης
1.2.Στατική Δέσμευση Μνήμης για Συνήθεις Μεταβλητές
1.3.Στατική Δέσμευση Μνήμης για Αντικείμενα
2.Δυναμική Δέσμευση Μνήμης
2.1.Δείκτες (Υπενθύμιση από C)
2.2.Οι τελεστές new και delete
2.3.Δυναμική Δέσμευση για Συνήθεις Μεταβλητές
2.4.Δυναμική Δέσμευση για Αντικείμενα
2.5.Δυναμική Δέσμευση και Κατασκευαστές
3.Κλάσεις που περιέχουν δείκτες
3.1.Παράδειγμα κλάσης που περιέχει δείκτες
3.2.…και ένα πρόβλημα (χωρίς λύση για την ώρα)
4..Δυναμική Δέσμευση Μνήμης για Πίνακες
4.1.Μονοδιάστατοι πίνακες
4.2.Παράδειγμα δέσμευσης μνήμης για μονοδιάστατους πίνακες
4.3.Διδιάστατοι πίνακες
4.4.Παράδειγμα δέσμευσης μνήμης για διδιάστατους πίνακες
B. Ασκήσεις
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α. Θεωρία
1.Διαχείριση Μνήμης
1.1.Στατική Δέσμευση Μνήμης
1.2.Στατική Δέσμευση Μνήμης για Συνήθεις Μεταβλητές
1.3.Στατική Δέσμευση Μνήμης για Αντικείμενα
2.Δυναμική Δέσμευση Μνήμης
2.1.Δείκτες (Υπενθύμιση από C)
2.2.Οι τελεστές new και delete
2.3.Δυναμική Δέσμευση για Συνήθεις Μεταβλητές
2.4.Δυναμική Δέσμευση για Αντικείμενα
2.5.Δυναμική Δέσμευση και Κατασκευαστές
3.Κλάσεις που περιέχουν δείκτες
3.1.Παράδειγμα κλάσης που περιέχει δείκτες
3.2.…και ένα πρόβλημα (χωρίς λύση για την ώρα)
4..Δυναμική Δέσμευση Μνήμης για Πίνακες
4.1.Μονοδιάστατοι πίνακες
4.2.Παράδειγμα δέσμευσης μνήμης για μονοδιάστατους πίνακες
4.3.Διδιάστατοι πίνακες
4.4.Παράδειγμα δέσμευσης μνήμης για διδιάστατους πίνακες
B. Ασκήσεις
Α. Θεωρία
1. Κλάσεις
1.1 Γενικά
1.2 Ορισμός Κλάσης
1.3 Δημόσια (public) στοιχεία της κλάσης
1.4 Ιδιωτικά (private) στοιχεία της κλάσης
1.5 Παράδειγμα (προδιαγραφές)
2 Περισσότερα για τις κλάσεις
2.1 Ορισμός Συναρτήσεων έξω από την Κλάση
2.2 Παρουσίαση Ιδιωτικών – Δημόσιων Μέλων μιας κλάσης
2.3 Χωρισμός σε Αρχεία
3. Ειδικές Μεθόδοι Κλάσεων
3.1 Γενικά
3.2 Κατασκευαστής (constructor)
3.3 Καταστροφέας (destructor)
3.4 Ελεγκτές Πρόσβασης (accessors)
B. Ασκήσεις
Η ΓΛΩΣΣΑ C++ - ΜΑΘΗΜΑ 2 - ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΚΛΑΣΕΙΣ (4 διαφ)Dimitris Psounis
Α. Θεωρία
1. Κλάσεις
1.1 Γενικά
1.2 Ορισμός Κλάσης
1.3 Δημόσια (public) στοιχεία της κλάσης
1.4 Ιδιωτικά (private) στοιχεία της κλάσης
1.5 Παράδειγμα (προδιαγραφές)
2 Περισσότερα για τις κλάσεις
2.1 Ορισμός Συναρτήσεων έξω από την Κλάση
2.2 Παρουσίαση Ιδιωτικών – Δημόσιων Μέλων μιας κλάσης
2.3 Χωρισμός σε Αρχεία
3. Ειδικές Μεθόδοι Κλάσεων
3.1 Γενικά
3.2 Κατασκευαστής (constructor)
3.3 Καταστροφέας (destructor)
3.4 Ελεγκτές Πρόσβασης (accessors)
B. Ασκήσεις
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α. Θεωρία
1. Η Γλώσσα C++
1.1. Γενικά
1.2. Ιστορία – Εκδόσεις
1.3. Η αναγκαιότητα της C
1.4. Μεταγλωττιστές
2. Hello World!
2.1. Πηγαίος Κώδικας
2.2. Σχόλια
2.3. Βιβλιοθήκη iostream
2.4. main, block κώδικα, return
2.5 Είσοδος/Έξοδος
2.5.1. Έξοδος με την cout
2.5.2. Οδηγία using
2.5.3. Περισσότερα για την cout
2.5.4. Είσοδος με την cin
3. Στοιχεία της C
3.1. Μεταβλητές
3.2. Σταθερές
3.3. Τελεστές και η Δομή Ελέγχου
3.4. Δομές Επανάληψης
3.5. Συναρτήσεις
3.5.1. Πολυμορφισμός Συναρτήσεων
3.6. Πίνακες
3.7. Συμβολοσειρές
3.8. Δείκτες
B.Ασκήσεις
Εφαρμογή 1
Εφαρμογή 2
Εφαρμογή 3
C++ - ΜΑΘΗΜΑ 1 - ΕΙΣΑΓΩΓΗ ΚΑΙ ΣΧΕΣΗ ΜΕ ΤΗ C (4sl/p)Dimitris Psounis
ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ
Α. Θεωρία
1. Η Γλώσσα C++
1.1. Γενικά
1.2. Ιστορία – Εκδόσεις
1.3. Η αναγκαιότητα της C
1.4. Μεταγλωττιστές
2. Hello World!
2.1. Πηγαίος Κώδικας
2.2. Σχόλια
2.3. Βιβλιοθήκη iostream
2.4. main, block κώδικα, return
2.5 Είσοδος/Έξοδος
2.5.1. Έξοδος με την cout
2.5.2. Οδηγία using
2.5.3. Περισσότερα για την cout
2.5.4. Είσοδος με την cin
3. Στοιχεία της C
3.1. Μεταβλητές
3.2. Σταθερές
3.3. Τελεστές και η Δομή Ελέγχου
3.4. Δομές Επανάληψης
3.5. Συναρτήσεις
3.5.1. Πολυμορφισμός Συναρτήσεων
3.6. Πίνακες
3.7. Συμβολοσειρές
3.8. Δείκτες
B.Ασκήσεις
Εφαρμογή 1
Εφαρμογή 2
Εφαρμογή 3
6. . + ! ! ! # % +$
1. )! ! *& ! ) ! * &
1. + " %
13! + !3 % )"! 1 ! + & # ! 3+&
)! ) ! * +&:
! !" # $ %
....
)! ) ! * +# +2+
....
. + ! ! ! # % +$
1. )! ! *& ! ) ! * &
2. )! ! *& & for
8 + for # + 1 "! + $ *" ! "3% ! for ) $
*" ! ! 1 !& ! for.
.3.:
! !" # $ %
. .:
for (i=A to B)
)! ) ! * +#
6"% / !( +-%& "!# :
for (i=A to B)
... K ...
end for
=
=
B
Ai
KnT )(
=
+Α−Β=
B
Ai
11
=
+=
n
i
nni
1
2/)1(
=
++=
n
i
nnni
1
2
6/)12)(1(
=
+
−
−
=
n
i
n
i
x
x
x
0
1
1
1
.:,1 σταθccc
B
Ai
B
Ai= =
=
== =
+=+
n
i
n
i
n
i
BABA
11 1
)(
. + ! ! ! # % +$
1. )! ! *& ! ) ! * &
3. /$ 1 ! 2"*3!
+ + /$ 1 ! & ."*3! &, "!( + ! & # ! & * +& )! +# +
1 ) * ."*3!.
.3.:
! !" # $ %
for (i= to )
for (j=C to D)
... K ...
)! ) ! * +#
... K ...
end for
end for
( )
B D
i A j C
T n K
= =
=
. + ! ! ! # % +$
2. .! *& (.)
+- ! + ! (.) & " & )! ) ! * &, )"1)+
! + & *)! +& +) +" 1& * +& 1 + 13! + « " »
"!# .
5)+ +) 1 ! + ! 1 ! )* ! & *"! & ! "!# !&, !
+ ! + ! (.)
&! !" # $ %
" +#
1.
2.
"! !3% * ) +#/! ! +"1& )! +# )! ) 1 +& +
! & *"! & ! "!# !&.
)()1()( 22
nnnnnn Θ=+=+=Τ
)(
6
1
6
3
6
2
6
)12)((
6
)12)(1(
)( 323
2
nnnn
nnnnnn
n Θ=++=
++
=
++
=Τ
7. . + ! ! ! # % +$
3. * +& +$
# +" +- $ % ! (.) 3 )"! () + !
)! ! * +$ . ! ! !( ! * +"+& * +& +$
" 0 :
M! !" # $ %
0
1
1a
a a
=
=
1
0.52
B
x x x= =
( )
( ) ( )
n n
m n n m nm
m m
a a a
a a
= =
=1
1
1/
1/k k
a a
a a
a a
−
−
=
=
=
B
BA A
x x=
( )
/
/ ( / )
m m
m n m n
m n m n
m m m
a a
a a a
a a a
a b a b
+
−
=
=
=
=
. % + &
8 * & 1
)! ! # + # ) $ % + # $ +- & " % +$
)! ) ! * &:
N! !" # $ %
2
1
2
0 2
( ) (2 1)
( ) 2 (2 1)
( ) 5 ( 4 ) log
n n
n
f n n n n
f n
f n n n
= + +
= +
= + +0 2
3
22
4
6
5
0.01
6
7
62 44
8
( ) 5 ( 4 ) log
( ) (2 )
( ) log ! 1000 14
( ) 1000
4( )
2
( ) 4
n
n
n
n
n
n
f n n n
f n n
f n n n n
f n n
f n
f n n n n
= + +
= +
= + + + +
= +
=
= + +
. % + &
8 * & 2
)! ! # + " .% )! ) ! * ! ) " $ % !& :
O! !" # $ %
for i=1 to n
for j=1 to n
a=a+1
end for
b=a+a*a
end forend for
. % + &
8 * & 3
)! ! # + " .% )! ) ! * ! ) " $ % !& :
P! !" # $ %
for i=1 to n
a=a/2
for j=1 to n
a=a*10
end for
b=a+a*a/2b=a+a*a/2
for j=i+1 to n
a=a+9
end for
end for