The document summarizes the analysis of a series of potential energy solutions over multiple iterations. It begins by outlining an initial potential energy solution using four components with assigned values. Through further iterations, it modifies the values and components of the solution, concluding with a potential energy solution using three components.
1) Ορισμός Συνδετικού Δένδρου
1.1) Διάσχιση Πρώτα Κατά Πλάτος
1.2) Διάσχιση Πρώτα Κατά Βάθος
2) Ελάχιστο Συνδετικό Δένδρο
2.1) Ορισμός Ελάχιστου Συνδετικού Δένδρου
2.2) Ο αλγόριθμος του Prim
3) Σύνοψη για τους Αλγόριθμους
3.1) Συντομότερα Μονοπάτια
3.2) Συνδετικό Δένδρο
3.3) Ελάχιστο Συνδετικό Δένδρο
The document summarizes the analysis of a series of potential energy solutions over multiple iterations. It begins by outlining an initial potential energy solution using four components with assigned values. Through further iterations, it modifies the values and components of the solution, concluding with a potential energy solution using three components.
1) Ορισμός Συνδετικού Δένδρου
1.1) Διάσχιση Πρώτα Κατά Πλάτος
1.2) Διάσχιση Πρώτα Κατά Βάθος
2) Ελάχιστο Συνδετικό Δένδρο
2.1) Ορισμός Ελάχιστου Συνδετικού Δένδρου
2.2) Ο αλγόριθμος του Prim
3) Σύνοψη για τους Αλγόριθμους
3.1) Συντομότερα Μονοπάτια
3.2) Συνδετικό Δένδρο
3.3) Ελάχιστο Συνδετικό Δένδρο
ΓΛΩΣΣΑ 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
1. ΔΕΝΔΡΑΣΥΝΔΕΤΙΚΑ ΔΕΝΔΡΑ
Ορισμός: Σε ένα συνδεόμενο μη κατευθυνόμενο γράφημα G V, E ορίζουμε ως συνδετικό δένδρο Τ (ή αλλιώς γεννητορικό
ή επικαλυπτικό δένδρο) του γραφήματος:
Ένα υπογράφημα του G που είναι δένδρο και περιέχει όλες τις κορυφές του G
Παράδειγμα: Βλέπουμε ένα γράφημα και δύο συνδετικά του δένδρα (ένα γράφημα έχει πολλά συνδετικά δένδρα)
Παρατηρήσεις:
• Ένα γράφημα έχει συνδετικό δένδρο αν και μόνο αν είναι συνδεόμενο
• Ένα γράφημα μπορεί να έχει πολλά συνδετικά δένδρα.
• Ένα δένδρο έχει μόνο ένα συνδετικό δένδρο (τον εαυτό του)
• Ένα συνδετικό δένδρο μπορεί να υπολογιστεί με τον αλγόριθμο διάσχισης πρώτα κατά βάθος και τον αλγόριθμο
διάσχισης πρώτα κατά πλάτος.
2. ΔΕΝΔΡΑΔΙΑΣΧΙΣΗ ΚΑΤΑ ΒΑΘΟΣ
Σκιαγράφηση Αλγόριθμου Πρώτα κατά Βάθος:
«Βολίδα που εξερευνά το γράφο κατασκευάζοντας το συνδετικό δένδρο»
Ο αλγόριθμος δέχεται ως είσοδο ένα συνδεόμενο γράφημα και παράγει ένα συνδετικό δένδρο.
Στην αρχικοποίηση:
• Τοποθετούμε την βολίδα σε μια (αυθαίρετη) κορυφή. Την κορυφή την τοποθετούμε στο συνδετικό δένδρο
Σε κάθε βήμα:
• Αν υπάρχει γειτονική κορυφή που δεν έχει επισκεφθεί, μεταβαίνει και την τοποθετεί στο συνδετικό δένδρο μαζί με την
ακμή μετάβασης.
• Αν δεν υπάρχει κορυφή που δεν έχει επισκεφθεί, πηγαίνει στην ακριβώς προηγούμενη κορυφή που είχε επισκεφθεί.
Τερματισμός:
• Όταν όλες οι κορυφές εισαχθούν στο δένδρο.
Βηματα:Παράδειγμα:
Αρχικό Γράφημα:
Συνδετικό Δένδρο της Κατά
Βάθος:
Βήμα 0 Βήμα 1 Βήμα 2 Βήμα 3 Βήμα 4
Βήμα 5 Βήμα 6 Βήμα 7 Βήμα 8 Βήμα 9 Βήμα 10
3. Βηματα:
ΔΙΑΣΧΙΣΗ ΚΑΤΑ ΠΛΑΤΟΣ
Σκιαγράφηση Αλγόριθμου Πρώτα κατά Πλάτος:
«κατασκευή του δένδρου κατά επίπεδα»
Ο αλγόριθμος δέχεται ως είσοδο ένα συνδεόμενο γράφημα και παράγει ένα συνδετικό δένδρο.
Στην αρχικοποίηση:
• Τοποθετούμε αυθαίρετα μία κορυφή στο συνδετικό δένδρο
Σε κάθε βήμα:
• Επιλέγουμε τρέχουσα κορυφή (με βάση την σειρά με την οποία μπήκε στο συνδετικό δένδρο)
• Κάθε γειτονική της κορυφή που δεν έχει μπει στο δένδρο την θέτουμε ως παιδί της (με αυθαίρετη σειρά)
Τερματισμός:
• Όταν όλες οι κορυφές εισαχθούν στο δένδρο.
Παράδειγμα:
Αρχικό Γράφημα:
Συνδετικό Δένδρο της Κατά
Βάθος:
Βήμα 0 Βήμα 1 Βήμα 2 Βήμα 3
Βήμα 4 Βήμα 5
Βήμα 6
ΔΕΝΔΡΑ
4. Παράδειγμα: Σχηματική απεικόνιση μετά την εκτέλεση 3 βημάτων σε ένα γράφημα:
Επόμενη ακμή που επιλέγεται είναι η [v2,v3]
ΑΛΓΟΡΙΘΜΟΣ PRIM
Σκιαγράφηση Αλγόριθμου Prim:
Στην αρχικοποίηση:
• Τοποθετούμε αυθαίρετα μια κορυφή στο συνδετικό δένδρο
Σε κάθε βήμα:
• Υποψήφιες ακμές για να μπουν στο συνδετικό δένδρο είναι εκείνες οι ακμές που έχουν το ένα τους άκρο στο υπο
κατασκευή συνδετικό δένδρο και το άλλο τους άκρο εκτός του συνδετικού δένδρου.
• Επιλέγεται η ακμή με το ελάχιστο βάρος από τις υποψήφιες
• Η ακμή εισάγεται στο δένδρο καθώς και το άκρο της που δεν ανήκε στο δένδρο.
Τερματισμός:
• Όταν όλες οι κορυφές εισαχθούν στο δένδρο.
ΔΕΝΔΡΑ
Ορισμός: Σε ένα συνδεόμενο μη κατευθυνόμενο γράφημα , , ορίζουμε ως ελάχιστο συνδετικό δένδρο Τ (ή αλλιώς
ελάχιστο γεννητορικό ή ελάχιστο επικαλυπτικό δένδρο) του γραφήματος:
• Ένα υπογράφημα του G που είναι δένδρο, περιέχει όλες τις κορυφές του G και έχει ελάχιστο βάρος (άθροισμα βαρών των
ακμών του)
5. ( )>0: ∆εν διατηρείται
( )>0: ∆ιατηρείται
( )>0: ∆ιατηρείται
( )>0: ∆ιατηρείται
Αρν.Βάρη:× Αρν.Βάρη: √
ΣΥΝΟΨΗ ΑΛΓΟΡΙΘΜΩΝ ΔΕΝΔΡΑ
Dijkstra Prim Κατά
Βάθος
Κατά
Πλάτος
Συντομότερα
Μονοπάτια
√
× × Αν όλα τα
βάρη ίδια:
√
Ελάχιστο
Συνδετικό Δένδρο
Αν όλα τα
βάρη ίδια:
√
√
Αν όλα τα
βάρη ίδια:
√
Αν όλα τα
βάρη ίδια:
√
Συνδετικό Δένδρο √ √
√ √