Γεωµετρικοί Αλγόριθµοι (CLR, κεφάλαιο 35)

Σχετικά έγγραφα
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

ΕΥΘΕΙΕΣ ΠΟΥ ΤΕΜΝΟΝΤΑΙ ΑΠΟ ΜΙΑ ΑΛΛΗ ΕΥΘΕΙΑ

(CLR, κεφάλαιο 32) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier

Αλγόριθµοι και Πολυπλοκότητα

Εργαστήριο Τεχνολογίας Πολυμέσων & Γραφικών, Τ.Ε.Π Π.Μ, Μάθημα: Γραφικά με Η/Υ

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία. Πέτρος Ποτίκας CoReLab 4/5/2006

Πρόβληµα Επιλογής. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Επιλογή 1

9 εύτερη παράγωγος κι εφαρµογές

ΙΑΝΥΣΜΑΤΑ ΘΕΩΡΙΑ ΘΕΜΑΤΑ ΘΕΩΡΙΑΣ. Τι ονοµάζουµε διάνυσµα; αλφάβητου επιγραµµισµένα µε βέλος. για παράδειγµα, Τι ονοµάζουµε µέτρο διανύσµατος;

1 ΘΕΩΡΙΑΣ...με απάντηση

ίκτυα Ταξινόµησης (CLR κεφάλαιο 28)

ΕΠΑΝΑΛΗΨΗ Α ΓΥΜΝΑΣΙΟΥ

Αλγόριθµοι και Πολυπλοκότητα

Ä ÑÁÓÔÇÑÉÏÔÇÔÁ 1ç. Απάντηση Οι γωνίες που σχηµατίζονται είναι: Α. αµβλεία Β. ευθεία Γ. πλήρης. οξεία Ε. ορθή Ζ. αµβλεία Η. οξεία.

ΜΑΘΗΜΑΤΑ ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΟΥ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ Β ΛΥΚΕΙΟΥ

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 8

5 Γενική µορφή εξίσωσης ευθείας

Επιλογή. Επιμέλεια διαφανειών: Δ. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Ελάχιστα Γεννητορικά ένδρα

Quicksort [Hoare, 62] Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Quicksort 1

Επιλογή. Πρόβλημα Επιλογής. Μέγιστο / Ελάχιστο. Εφαρμογές

Επιλογή. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

ΜΕΡΟΣ Α. 1 ο ΚΕΦΑΛΑΙΟ

ΘΕΜΑΤΑ & ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΙΚΩΝ Α ΓΥΜΝΑΣΙΟΥ

Ερωτήσεις Κατανόησης. Ασκήσεις σχολικού βιβλίου σελίδας Στα παρακάτω σχήµατα να υπολογίσετε τα x και ψ. Απάντηση Στο σχήµα (α) :

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

Μαθηματικά Α Γυμνασίου

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2013 ÁÍÅËÉÎÇ

ΣΥΝΤΕΤΑΓΜΕΝΕΣ ΙΑΝΥΣΜΑΤΟΣ

ΜΑΘΗΜΑΤΙΚΑ Γ ΓΥΜΝΑΣΙΟΥ

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Καµπύλες Bézier και Geogebra

ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-1

ΘΕΩΡΙΑ ΣΤΗ ΓΕΩΜΕΤΡΙΑ ΓΙΑ ΤΗΝ Α ΓΥΜΝΑΣΙΟΥ Α. ΓΩΝΙΕΣ - ΚΥΚΛΟΣ

ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ ΜΙΑ ΠΡΟΕΤΟΙΜΑΣΙΑ ΓΙΑ ΤΙΣ ΕΞΕΤΑΣΕΙΣ

ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ - ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ. (εκπαιδευτικό υλικό Τεχνολογικής κατεύθυνσης ) ΜΕΡΟΣ Α : ΑΛΓΕΒΡΑ

ΘΕΑΝΩ ΕΡΙΦΥΛΗ ΜΟΣΧΟΝΑ ΣΥΜΠΛΗΡΩΜΑΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ

ΚΕΦΑΛΑΙΟ 3 ΠΑΡΑΓΩΓΟΣ ΣΥΝΑΡΤΗΣΕΩΝ

ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ - ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ. (εκπαιδευτικό υλικό Τεχνολογικής κατεύθυνσης ) ΜΕΡΟΣ Α : ΑΛΓΕΒΡΑ

x 2 = x x 2 2. x 2 = u 2 + x 2 3 Χρησιµοποιώντας το συµβολισµό του ανάστροφου, αυτό γράφεται x 2 = x T x. = x T x.

Ερωτήσεις θεωρίας για τα Μαθηματικά Γ γυμνασίου. Άλγεβρα...

ραστηριότητες στο Επίπεδο 1.

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)

Α. ΑΠΑΡΑΙΤΗΤΕΣ ΓΝΩΣΕΙΣ ΘΕΩΡΙΑΣ. Ηµιεπίπεδο Κάθε ευθεία ε επιπέδου Π χωρίζει τα σηµεία του επιπέδου που δεν ανήκουν στην ε σε δύο σηµειοσύνολα Π 1

Προσεγγιστική κατασκευή κανονικού 9-γώνου με κανόνα και διαβήτη

α) Κύκλος από δύο δοσµένα σηµεία Α, Β. Το ένα από τα δύο σηµεία ορίζεται ως κέντρο αν το επιλέξουµε πρώτο. β) Κύκλος από δοσµένο σηµείο και δοσµένο ευ

Επιλογή. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΕΠΛ 232 Φροντιστήριο 2

2 η δεκάδα θεµάτων επανάληψης

ΠΑΡΑΓΩΓΟΣ ΣΥΝΑΡΤΗΣΗ. Εφαπτοµένη ευθεία

Συνοπτική Θεωρία Μαθηματικών Α Γυμνασίου

Η εφαρµογή xsortlab. Οπτικός τρόπος ταξινόµησης

Γεωµετρία Γενικής Παιδείας Β Λυκείου 2001

ΓΕΩΜΕΤΡΙΑ - ΚΕΦΑΛΑΙΟ 3ο Παραλληλόγραµµα - Τραπέζια

Μετασχηματισμοί Μοντελοποίησης (modeling transformations)

1.4 ΟΜΟΙΟΘΕΣΙΑ ΑΣΚΗΣΕΙΣ. 2. Το οµοιόθετο γωνίας : Είναι γωνία ίση µε την αρχική

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2

Θέµατα Μαθηµατικών Θετικής Κατεύθυνσης Β Λυκείου 1999

14 Εφαρµογές των ολοκληρωµάτων

Παράλληλοι Αλγόριθµοι

sin ϕ = cos ϕ = tan ϕ =

Κεφάλαιο 7 ο : Θετικοί και Αρνητικοί αριθμοί

Απαλλακτική Εργασία Γραφικά & Εικονική Πραγματικότητα. Παπαπαύλου Χρήστος ΑΜ: 6609

Ερωτήσεις θεωρίας για τα Μαθηματικά Γ γυμνασίου

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

Γραφικά Υπολογιστών: Σχεδίαση γραμμών (Bresenham), Σχεδίασης Κύκλων, Γέμισμα Πολυγώνων

Να απαντήσετε τα θέματα 1 και 2 αιτιολογώντας πλήρως τις απαντήσεις σας. Το κάθε θέμα είναι 10 μονάδες.

Κεφάλαιο M3. Διανύσµατα

ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ

Physics by Chris Simopoulos

ΜΑΘΗΜΑΤΙΚΑ Β ΓΥΜΝΑΣΙΟΥ

Μαθηματική Εισαγωγή Συναρτήσεις

3, ( 4), ( 3),( 2), 2017

Μαθηματικά Α' Γυμ. - Ερωτήσεις Θεωρίας 1 ΕΡΩΤΗΣΕΙΣ. (1) Ποιοι είναι οι φυσικοί αριθμοί; Γράψε τέσσερα παραδείγματα.

ΙΣΟΤΗΤΑ ΤΡΙΓΩΝΩΝ Γ ΓΥΜΝΑΣΙΟΥ - ΘΕΩΡΙΑ

Παρουσίαση 1 ΙΑΝΥΣΜΑΤΑ

ΜΑΘΗΜΑΤΙΚΑ Β ΓΥΜΝΑΣΙΟΥ ΜΙΑ ΠΡΟΕΤΟΙΜΑΣΙΑ ΓΙΑ ΤΙΣ ΕΞΕΤΑΣΕΙΣ

ΤΑΧΥ Ο ΟΙΠΟΡΙΚΟ. 3. Αζιµούθιο: Είναι η δεξιόστροφη γωνία που σχηµατίζεται µεταξύ του µαγνητικού βορρά, του σηµείου στάσεως και του σηµείου σκοπεύσεως.

KEΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΑ ΚΡΥΠΤΟΣΥΣΤΗΜΑΤΑ

(1) (2) A ΑE Α = AΒ (ΑΒΕ) (Α Ε)

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Υπολογισµοί συντεταγµένων σηµείων

auth Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

ΚΕΦΑΛΑΙΟ 2 ΜΗ ΓΡΑΜΜΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

τη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.

δίου ορισμού, μέσου του τύπου εξαρτημένης μεταβλητής του πεδίου τιμών που λέγεται εικόνα της f για x α f α.

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

1η Σειρά Γραπτών Ασκήσεων

ΣΗΜΕΙΩΣΕΙΣ. Από προηγούμενες τάξεις γνωρίζουμε ότι το τετράγωνο οποιουδήποτε πραγματικού αριθμού

Τεχνικές Σχεδιασμού Αλγορίθμων

Σ 1, Σ 2... Σ N p 1, p 2,... p N k 1, k 2... k n

5 Παράγωγος συνάρτησης

Μ Α Θ Η Μ Α Τ Ι Κ Α Α Γ Υ Μ Ν Α Σ Ι Ο Υ

Να υπολογίζουμε τους τριγωνομετρικούς αριθμούς οξείας γωνίας. Τη γωνία σε κανονική θέση και τους τριγωνομετρικούς αριθμούς γωνίας σε κανονική θέση.

Transcript:

Γεωµετρικοί Αλγόριθµοι (CLR, κεφάλαιο 35) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Γινόµενα σηµεία, τοµή ευθυγράµµων τµηµάτων Εύρεση κυρτών περιβληµάτων: Ο αλγόριθµος του Grm και ο αλγόριθµος του Jrvs Το πρόβληµα Closst Pr ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-1

Έστω σηµεία Συµβολίζουµε µε Σηµεία και ευθύγραµµα τµήµατα το ευθύγραµµο τµήµα που ενώνει τα δύο σηµεία. Βλέπουµε ότι αυτό περιέχει όλα τα σηµεία 0 1. p 1 = ( 1, y1), p2 = ( 2, y2 ) p p 1 p 2 = ( 1 + (1- ) 2, y1 + (1- ) 2 ) 3 y Συχνά η κατεύθυνση ενός ευθύγραµµου τµήµατος έχει σηµασία, οπότε γράφουµε p 1 p 2 p 2 p 1 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-2

Γινόµενα σηµείων ΟΡΙΣΜΟΣ Έστω σηµεία p 1 =( 1, y 1 ) και p 2 =( 2, y 2 ). Το γινόµενο των δύο σηµείων p 1 p 2 ορίζεται ως η ορίζουσα ενός πίνακα: 1 2 p1 p2 = t = 1 y2 2 y1 Έχουµε ότι: y1 y2 1. αν p 1 p 2 >0, τότε το σηµείο p 1 βρίσκεται σε δεξιόστροφη κατεύθυνση από το σηµείο p 2, ως προς το σηµείο (0,0) 2. αν p 1 p 2 <0, τότε το σηµείο p 1 βρίσκεται σε αριστερόστροφη κατεύθυνση από το σηµείο p 2, ως προς το σηµείο (0,0) 3. αν p 1 p 2 =0, τότε το σηµείο p 1 βρίσκεται πάνω στη γραµµή που περιέχει τα σηµεία p 2 και (0,0). p 1 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-3

Γινόµενα σηµείων Για να αποφασίσουµε σε ποια κατεύθυνση του ευθύγραµµου τµήµατος p 0 p 1 βρίσκεται το ευθύγραµµο τµήµα p 0 p 2 µεταφέρουµε το σηµείο p 0 στο (0,0) και υπολογίζουµε το γινόµενο (p 1 -p 0 ) (p 2 -p 0 ) Πρόβληµα Έστω δύο ευθύγραµµα τµήµατα p 0 p 1 και p 1 p 2. Η γωνία θ που σχηµατίζεται στο σηµείο p 1 στρίβει προς τα δεξιά ή προς τα αριστερά; p 2 p 2 θ p 1 p 1 θ p 0 p 0 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-4

Γινόµενα σηµείων Το ερώτηµα αυτό είναι ισοδύναµο µε το ερώτηµα: σε ποια κατεύθυνση του p 0 p 1 βρίσκεται το p 0 p 2. Αν βρίσκεται σε δεξιόστροφη κατεύθυνση τότε η θ στρίβει προς τα δεξιά, και αν βρίσκεται σε αριστερόστροφη κατεύθυνση τότε η θ στρίβει προς τα αριστερά. Άρα µπορεί να λυθεί µε τον υπολογισµό ενός γινοµένου σηµείων. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-5

Άλλα προβλήµατα 1. Εύρεση κατά πόσο δύο ευθύγραµµα τµήµατα τέµνονται (σε χρόνο Ο(1)) 2. Ταξινόµηση µιας ακολουθίας σηµείων σε αύξουσα σειρά πολικής γωνίας ως προς κάποιο σηµείο (σε χρόνο Ο(n l n)). p 1 p 2 p 3 p 4 p 5 p 6 p 7 p Η έννοια του γινοµένου σηµείων είναι σηµαντική γιατί µας επιτρέπει να αποφύγουµε την πράξη της διαίρεσης (στην πρώτη εφαρµογή) και τριγωνοµετρικές πράξεις/υπολογισµό γωνιών (στη δεύτερη εφαρµογή). Θα µελετήσουµε την πρώτη εφαρµογή: ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-6

Τοµή ευθυγράµµων τµηµάτων Έστω δύο ευθύγραµµα τµήµατα p 1 p 2 και p 3 p 4. Να αποφασίσετε αν τα δύο τµήµατα τέµνονται. p 1 p 3 p 2 Πρώτο βήµα: βρες τα µικρότερα ορθογώνια που περικλύουν το κάθε ένα από τα δύο τµήµατα. Αν τα κουτιά τέµνονται προχώρησε στο δεύτερο βήµα, διαφορετικά στάµατα (τα ευθύγραµµα τµήµατα οπωσδήποτε δεν τέµνονται). p 4 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-7

Τοµή ευθυγράµµων τµηµάτων Υλοποίηση: Έστω p 1 = ( 1, y1), p 2 = ( 2, y2 ), p =, ), p 4 = ( 4, y4 ). 3 ( 3 y3 Το µικρότερο κουτί που περικλείει το p 1 p 2 έχει την αριστερή και κάτω γωνιά του στο σηµείο q 1 = (mn( 1, 2 ), mn( y1, y2 )) και τη δεξιά και πάνω γωνιά του στο σηµείο q 2 = (m( 1, 2 ), m( y1, y2 )). Το µικρότερο κουτί που περικλείει το p 3 p 4 έχει την αριστερή και κάτω γωνιά του στο σηµείο r 1 = (mn( 3, 4 ), mn( y3, y 4 )) και τη δεξιά και πάνω γωνιά του στο σηµείο r 2 = (m( 3, 4 ), m( y3, y4 )). Τα κουτιά τέµνονται αν m( 1, 2 ) mn( 3, 4 ) και m( 3, 4 ) mn( 1, 2 ) m( y1, y2 ) mn( y3, y4 ) και m( y3, y 4 ) mn( y1, y2 ) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-8

Τοµή ευθυγράµµων τµηµάτων εύτερο βήµα: Ελέγχουµε (α) που βρίσκονται τα σηµεία p 1 και p 2 σε σχέση µε την p 3 p 4 και (β) που βρίσκονται τα σηµεία p 3 και p 4 σε σχέση µε την p 1 p 2 (χρησιµοποιώντας γινόµενα σηµείων). Αν τα σηµεία p 1 και p 2 βρίσκονται είτε σε αντίθετη πλευρά του ευθύγραµµου τµήµατος p 3 p 4 είτε πάνω στη γραµµή που ορίζεται από το ευθύγραµµο τµήµα, και το ίδιο ισχύει για το ζεύγος p 3 και p 4 και το p 1 p 2, τότε οι ευθείες τέµνονται. Πόσες διαφορετικές περιπτώσεις υπάρχουν; Είναι αναγκαίο το βήµα 1; ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-9

Εύρεση Κυρτού Περιβλήµατος Κυρτό Περίβληµα ενός συνόλου S από n σηµεία είναι το ελάχιστο κυρτό πολύγωνο P τέτοιο ώστε κάθε ένα από τα n σηµεία στο S βρίσκεται πάνω στο σύνορο του S ή στο εσωτερικό του S. Συµβολίζεται ως CH(S). Στον ορισµό, ελάχιστο κυρτό πολύγωνο P σηµαίνει ότι δεν υπάρχει κυρτό πολύγωνο Q τέτοιο ώστε S Q P. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-10

O Αλγόριθµος του Grm ιαλέγουµε το χαµηλότερο σηµείο,, του σηµειοσυνόλου S. Ταξινοµούµε τα σηµεία ως προς την πολική γωνία που σχηµατίζουν µε το σηµείο (αντίστροφα προς τη φορά του ρολογιού). Παράδειγµα Με την ταξινόµηση παίρνουµε τη λίστα [,,,,,,,,] ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-11

O Αλγόριθµος του Grm Στη συνέχεια επεξεργαζόµαστε τα σηµεία καθ'αυτή τη σειρά και το κυρτό περίβληµα κατασκευάζεται βήµα προς βήµα. Έστω [1],, [n] η ταξινοµηµένη λίστα. Σε κάθε βήµα το κυρτό περίβληµα θα είναι σωστό σύµφωνα µε τα σηµεία που έχουµε δει µέχρι στιγµής, όµως είναι δυνατό, σηµεία που θα δούµε αργότερα να αλλάξουν προηγούµενες αποφάσεις µας. Το εκάστοτε µέρος του κυρτού περιβλήµατος που έχει κατασκευαστεί µέχρι κάποιο βήµα διατηρείται σε µια σωρό. Αρχικά η σωρός περιέχει τα τρία σηµεία, [1], [2]. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-12

O Αλγόριθµος του Grm Θεωρήστε το σηµείο [3]. Υπάρχουν δύο περιπτώσεις: 1. αν η γωνία [1][2][3] στρίβει προς τα αριστερά, τότε το [3] προστίθεται στη σωρό. 2. αν η γωνία [1][2][3] στρίβει προς τα δεξιά ή είναι 180, τότε η προηγούµενη απόφαση να εισάγουµε το [2] στη σωρό αναιρείται: το [2] αφαιρείται από τη σωρό και το [3] προστίθεται στη σωρό. Θεωρώντας το σηµείο [] oι περιπτώσεις είναι παρόµοιες. Έστω η σωρός είναι η s = s. 1. αν η γωνία [] στρίβει προς τα αριστερά, τότε το [] προστίθεται στη σωρό, 2. διαφορετικά, η προηγούµενη απόφαση να εισαγάγουµε το στη σωρό αναιρείται: το αφαιρείται από τη σωρό και επαναλαµβάνουµε το βήµα (προσπαθώντας να εισάγουµε το [] στη σωρό s ). ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-13

Παράδειγµα (συνέχεια) s={,} s={,,} ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-14

Παράδειγµα (συνέχεια) s={,,} s={,,,} ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-15

Παράδειγµα (συνέχεια) s={,,,} s={,,,,} ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-16

Παράδειγµα (συνέχεια) s={,,,,,} s={,,,,,} ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-17

Παράδειγµα (συνέχεια) s={,,,,,} s={,,,,,} ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-18

Ο Αλγόριθµος CH(Q){ MkEmptyStk(S); lt t lowst pont o Q; sort(q-{}); Pus(,S); Pus(Q[1],S); Pus(Q[2],S); or (=3; n;++) =Top(S); =Son(S); wl Q[] os not turn lt Pop(S); Pus(Q[],S); rturn S; } Χρονική Πολυπλοκότητα Θ(n) για την εύρεση του σηµείου Θ(n l n) για ταξινόµηση των σηµείων ως προς τις πολικές γωνίες τους Θ(n) για την επεξεργασία της σωρού (κάθε σηµείο µπορεί να µπει ακριβώς µια φορά στη σωρό και να βγει το πολύ µια φορά) Συνολικά: Θ(n l n) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-19

O Αλγόριθµος του Jrvs Ξεκινούµε µε το χαµηλότερο σηµείο του συνόλου. Ο αλγόριθµος κτίζει µια λίστα p[1],,p[k], µε τα σηµεία-κορυφές του κυρτού περιβλήµατος ως εξής: 1. αν p[1]=p[k] τότε σταµάτα, διαφορετικά, 2. βρες το σηµείο p, που σχηµατίζει τη "µικρότερη" πολική γωνία µε το p[k] και πρόσθεσε το στη λίστα του κυρτού περιβλήµατος. (αν δύο σηµεία σχηµατίζουν την ίδια µικρότερη πολική γωνία, τότε διάλεξε το πιο µακρινό.) Προσοχή: κατά τη διάρκεια της εκτέλεσης του αλγόριθµου η έννοια της γωνίας πρέπει να µετριέται σε δεξιόστροφη κατεύθυνση. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-20

Παράδειγµα Λίστα=[] Λίστα=[,] ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-21

Παράδειγµα Λίστα=[,,] Λίστα=[,,,] ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-22

Παράδειγµα (συνέχεια) Λίστα=[,,,,] Λίστα={,,,,,} ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-23

Παράδειγµα (συνέχεια) Λίστα=[,,,,,] Χρονική Πολυπλοκότητα: Ο(n) όπου είναι ο αριθµός των κορυφών του κυρτού περιβλήµατος. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-24

Πρόβληµα: Closst-Pr εδοµένο Εισόδου: σηµειοσύνολο Qµε Q = n. H απόσταση µεταξύ δύο σηµείων =(1, y1) και =(2,y2) είναι Αν δύο σηµεία συµπίπτουν, η µεταξύ τους απόσταση είναι 0. Ζητούµενο: να βρεθεί το ζεύγος των σηµείων µε τη µικρότερη µεταξύ τους απόσταση. Φανερός αλγόριθµος: υπολόγισε όλες τις αποστάσεις µεταξύ σηµείων και διάλεξε τη µικρότερη. Χρόνος εκτέλεσης: 2 2 stn (,)= ( - ) +(y -y ) 1 2 1 2 ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-25

Αλγόριθµος ιαίρει και Βασίλευε Φάση ιαίρει : οθέντος συνόλου σηµείων P, αν P 3 τότε βρες τη µικρότερη απόσταση µεταξύ των σηµείων, υπολογίζοντας τις 3 διαφορετικές αποστάσεις, διαφορετικά... ηµιουργησε δύο µισά P L και P R, τέτοια ώστε τα σηµεία του P L να έχουν µικρότερες -συνιστώσες από τα σηµεία του P R. Aν υπάρχει διατηρηµένη ταξινοµηµένη λίστα του P ως προς την - συνιστώσα, τότε το πιο πάνω βήµα απαιτεί χρόνο O(n). P L P R L R ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-26

Αλγόριθµος ιαίρει και Βασίλευε Φάση Κατάκτησε Bρες τις µικρότερες αποστάσεις L και R µε αναδροµικές κλήσεις στα σύνολα P L και P R. Θέσε =mn( L, R ) Φάση Συνδύασε Υπάρχει ζεύγος σηµείων (,), P L και P R µε stn(,)<; Eίναι αρκετό να κοιτάξουµε µόνο τα σηµεία σε οριζόντια απόσταση < από την κάθετη γραµµή που χωρίζει τα σύνολα P L και P R. Oνοµάζουµε αυτό τον τοµέα L. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-27

Αλγόριθµος ιαίρει και Βασίλευε P L P R L R Αν για κάθε σηµείο στον τοµέα Lµετρήσουµε την απόσταση του από κάθε άλλο σηµείο στο L, τότε η διαδικασία απαιτεί χρόνο Ο(n) στη µέση περίπτωση αλλά Ο(n²) στηχείριστηπερίπτωση. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-28

Αλγόριθµος ιαίρει και Βασίλευε Φάση Συνδύασε 2 Έστω Τ το σύνολο των σηµείων µε -συνιστώσες στον τοµέα L. Είναι αρκετό να ελέγξουµε ζευγάρια (,) για τα οποία οι y- συνιστώσες διαφέρουν το πολύ κατά. Ένα τετράγωνο έχει το πολύ 4 τέτοια σηµεία, άρα για κάθε σηµείο χρειάζεται να θεωρήσουµε σταθερό αριθµό σηµείων, συγκεκριµένα 7. ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-29

Χρόνος Εκτέλεσης Aν το σύνολο Τ είναι ταξινοµηµένο σε αύξουσα σειρά ως προς τη συνιστώσα y, τότε επεξεργασία κάθε σηµείου p γίνεται σε χρόνο Ο(1). Απλά κοιτάζουµε τα 7 σηµεία που ακολουθούν το pµέσα στη ταξινοµηµένη λίστα. Επίσης, αν το δεδοµένο εισόδου είναι ταξινοµηµένο σε αύξουσα σειρά ως προς τη συνιστώσα, τότε το σύνολο Τ µπορεί να κτιστεί σε χρόνο Ο(n). Eποµένως, ο συνολικός χρόνος εκτέλεσης της φάσης συνδύασε είναι Ο(n). Ο χρόνος εκτέλεσης του αλγόριθµου δίδεται από την εξίσωση Τ(n) = 2 T(n/2) + O(n) Ο(n l n) ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-30

Χρόνος Εκτέλεσης Πως µπορούµε κάθε φορά που καλούµε τη διαδικασία σε σηµειοσύνολο P να έχουµε στη διάθεση µας δύο πίνακες µε τα σηµεία του P ταξινοµηµένα ως προς τις συνιστώσες και y αντίστοιχα; Αν σε κάθε αναδροµική κλήση χρειαζόταν να εφαρµόσουµε ταξινόµηση θα είχαµε αλγόριθµο χρονικής πολυπλοκότητας Ο(n² l n). Mπορούµε να αποφύγουµε αυτή τη συνεχή ταξινόµηση; Ναι, ταξινοµώντας το αρχικό σύνολο και κτίζοντας από αυτό όλους τους άλλους χρήσιµους ταξινοµηµένους πίνακες (σε χρόνο Ο(n)). Χρονική Πολυπλοκότητα του αλγόριθµου: ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 10-31