Γηάιεμε 7: Αλαδξνκή. Σηελ ελφηεηα απηή ζα κειεηεζνχλ ηα εμήο επηκέξνπο ζέκαηα:

Σχετικά έγγραφα
Δηάιεμε 9: Σηνίβεο:Υινπνίεζε & Εθαξκνγέο

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Διδάσκων: Παναγιώτης Ανδρέου

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

ηδάζθσλ: εµήηξεο Εετλαιηπνύξ

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

Διάλεξη 20: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Constructors and Destructors in C++

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

Τν Πξόγξακκα ζα αλαθνηλσζεί, ακέζσο κεηά ηηο γηνξηέο ηνπ Πάζρα.

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

3ο Δπαναληπηικό διαγώνιζμα ζηα Μαθημαηικά καηεύθσνζης ηης Γ Λσκείοσ Θέμα A Α1. Έζησ f κηα ζπλερήο ζπλάξηεζε ζ έλα δηάζηεκα

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

x x x x tan(2 x) x 2 2x x 1

Διάλεξη 15: Αναδρομή (Recursion)

ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΣΗΜΑΤΩΝ & ΣΥΣΤΗΜΑΤΩΝ. ΜΕΤΑΣΦΗΜΑΤΙΣΜΟΣ Laplace

ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ: έζησ

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

Άσκηση 1 - Μοπυοποίηση Κειμένου

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

ΓΗΜΟΙΑ ΟΙΚΟΝΟΜΙΚΗ ΣΟΜΟ Γ

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

Αντισταθμιστική ανάλυση

ΘΔΜΑ 1 ο Μονάδες 5,10,10

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) =

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

Τ ξ ε ύ ο ξ π ς ξ σ ξ ο ί ξ σ _ Ι ε ο α μ ε ι κ ό π

ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Τάπηα με ππάζo, bacon και θέηα by Madame Ginger

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

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

ΤΑΞΙΝΟΜΗΣΗ ΤΩΝ ΤΔΡΗΓΟΝΙΚΩΝ ΒΛΑΒΩΝ ΚΑΤΑ ΤΑ ICDAS II ΚΡΙΤΗΡΙΑ ΜΔ ΒΑΣΗ ΤΗ ΚΛΙΝΙΚΗ ΔΞΔΤΑΣΗ

ACTA A.E. Αριςτο Σέλεια Πιςτοποίηςη. Ανθρώπινου Δυναμικοφ. «ΠΙΣΟΠΟΙΗΗ ΑΝΘΡΩΠΙΝΟΤ ΔΤΝΑΜΙΚΟΤ Εξελίξεισ - Προοπτικέσ»

3 ΑΠΙΔ ΑΘΖΔΗ ΘΟΚΟΙΟΓΗΑ ΠΟΤ ΑΛΣΗΚΔΣΩΠΗΕΟΛΣΑΗ ΚΔ ΦΤΗΘΖ ΘΑΗ ΚΑΘΖΚΑΣΗΘΑ ΙΤΘΔΗΟΤ

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ

Κόληξα πιαθέ ζαιάζζεο κε δηαζηάζεηο 40Υ40 εθ. Καξθηά 3 θηιά πεξίπνπ κε κήθνο ηξηπιάζην από ην πάρνο ηνπ μύινπ θπξί κεγάιν θαη ππνκνλή

4) Να γξάςεηε δηαδηθαζία (πξόγξακκα) ζηε Logo κε όλνκα θύθινο πνπ ζα ζρεδηάδεη έλα θύθιν. Λύζε Γηα θύθινο ζηθ επαλάιαβε 360 [κπ 1 δε 1] ηέινο

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots)

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

Διαδικαζία μεηαθοράς δεδομένων Εκκαθαριζηικής για ηο Eιδικό ζημείωμα περαίωζης Φ.Π.Α

ΜΕΛΕΣΗ E.O.K. ΜΕ ΑΙΘΗΣΗΡΑ ΘΕΗ

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

Διάλεξη 15: Αναδρομή (Recursion)

Παλαιοσλαβική Γλώσσα. Ενότητα 13: Μορφολογία Τα ρήματα. Αλεξάνδρα Ιωαννίδου. Τμήμα Σλαβικών Σπουδών

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

Fortran και Αντικειμενοστραυής προγραμματισμός. 3ε ελόηεηα

IV Ο ΕΛΛΗΝΙΜΟ ΣΗ ΔΤΗ,ΠΟΛΙΣΙΜΟΙ Δ.ΜΕΟΓΕΙΟΤ ΚΑΙ ΡΩΜΗ

1 Είζοδορ ζηο Σύζηημα ΣΔΕΔ ή BPMS

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

Transcript:

Γηάιεμε 7: Αλαδξνκή Σηελ ελφηεηα απηή ζα κειεηεζνχλ ηα εμήο επηκέξνπο ζέκαηα: Η έννοια ηης αναδρομής Μη-αναδρομικός / Αναδρομικός Οριζμός Σσναρηήζεων Παραδείγμαηα Ανάδρομης: Παραγονηικό, Δύναμη, Αριθμοί Fibonacci Αθαίρεζη ηης Αναδρομής ηδάζθσλ: εµήηξεο Εετλαιηπνχξ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ. 7-1

Με-αλαδξνκηθέο ζπλαξηήζεηο Πξνηνχ δνχκε ηη είλαη αλαδξνκή ζεσξήζηε ην πξφβιεκα εχξεζεο ηνπ παξαγνληηθνχ θάπνηνπ αξηζκνχ (factorial). 0! = 1, 1! = 1 2! = 1x2 = 2 3! = 1x2x3 = 6 4! = 1x2x3x4=24 5! = 1x2x3x4x5 = 120 Ζηηούμενο: Na σλοποιήζοσμε ηην factorial(int n) η οποία μας επιζηρέθει ηο παραγονηικό κάποιοσ θεηικού ακεραίοσ n. Λύζε int factorial(int n) { int i, result=1; for (i=1; i<=n; i++) { result *= i; } return result; } ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ. 7-2

Αλαδξνκή Βαζηθή έλλνηα ζηα Μαζεκαηηθά θαη ζηελ Πιεξνθνξηθή. Σηελ πιεξνθνξηθή ε αλαδξνκή ρξεζηκνπνηείηαη ζαλ ηετνική προγραμμαηιζμού θαη ζαλ μέθοδος ζτεδιαζμού αλγορίθμων. Σηνλ πξνγξακκαηηζκφ ε αλαδξνκή εκθαλίδεηαη κε ηελ θιήζε ελός σποπρογράκκαηος από ηολ εασηό ηοσ. Έλα αλαδξνκηθφ ππνπξφγξακκα απνηειείηαη απφ: έλα βήκα δηαθοπής, φπνπ νξίδεηαη ε εθηέιεζε ηνπ ππνπξνγξάκκαηνο γηα θάπνηεο κηθξέο ηηκέο ησλ παξακέηξσλ ηνπ, θαη έλα αλαδροκηθό βήκα, θαηά ην νπνίν ε εθηέιεζε ηνπ ππνπξνγξάκκαηνο νξίδεηαη σο ζπλδπαζκφο θιήζεσλ ηνπ ππνπξνγξάκκαηνο ζε άιιεο κηθξφηεξεο ηηκέο ησλ παξακέηξσλ. ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ. 7-3

Παξάδεηγκα 2: Παξαγνληηθφ Αξηζκνχ Αο νξίζνπκε ηψξα ηνλ αλαδξνκηθφ νξηζκφ ηεο factorial. 0! = 1, 1! = 1 2! = 1x2 = 2 3! = 1x2x3 = 6 4! = 1x2x3x4=24 5! = 1x2x3x4x5 = 120 Αλαδξνκηθφο Οξηζκφο Factorial 0! = 1 Βήκα Γηαθνπήο n! = n (n-1)!, n > 0 Αλαδξνκηθφ Βήκα ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ. 7-4

Παξάδεηγκα 2: Παξαγνληηθφ Αξηζκνχ int factorial ( int n ) { if (n == 0) return 1; else return n factorial(n-1); 6 } 2 Δθηέιεζε factorial(3) return 3 1 Δθηέιεζε factorial(2) return 2 factorial(2); Δθηέιεζε factorial(0) return 1 1 Δθηέιεζε factorial(1) return 1 factorial(0); factorial(1); ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ. 7-5

Υινπνίεζε αλαδξνκήο Σε θάζε θιήζε νπνηαζδήπνηε ζπλάξηεζεο έλα ζχλνιν απφ ιέμεηο (stack frame) θσιάζζεηαη ζε κηα ζηοίβα (ηελ ζηοίβα ηοσ προγράκκαηος), απφ φπνπ κπνξεί λα αλαζπξζεί. Όηαλ κηα ζπλάξηεζε δηαθφςεη ηελ εθηέιεζή ηεο κε ηελ θιήζε κηαο άιιεο ζπλάξηεζεο οι παράμεηροι ηης ζσνάρηηζης, η διεύθσνζη επιζηροθής θαη οι ηοπικές μεηαβληηές ηεο θαιούζας ζσλάρηεζες θπιάζζνληαη κέζα ζηε ζηνίβα ηνπ πξνγξάκκαηνο. Έηζη φηαλ ε θιεζείζα ζπλάξηεζε ηεξκαηίζεη ην πεξηβάιινλ ηελ θαινχζαο ζπλάξηεζεο αλαζύρεηαη από ηε ζηοίβα γηα λα ζπλερηζηεί θαλνληθά ε εθηέιεζή ηεο. Αθνχ θάζε θιήζε κηαο δηαδηθαζίαο εθηειείηαη ζην δηθφ ηεο πεξηβάιινλ, είλαη επηηξεπηή θαη ε θιήζε ζσλαρηήζεωλ από ηολ εασηό ηνπο (αλαδξνκή). ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ. 7-6

Παξάδεηγκα 2: Γχλακε Αξηζκνχ 2) Δύλακε (Power) a 0 = 1 a n = a n-1.a (n>=1) int mpower(int a, int n) { if (n==0) return 1; return a*mpower(a, n-1); } Παράδειγμα mpower(2,3) => 2*mpower(2,2) = 2*2*mpower(2,1) = 2*2*2*mpower(2,0) = 2*2*2*1= 8 ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ. 7-7

Παξάδεηγκα 3: Fibonacci Numbers 3) Αρηζκοί Fibonacci (Leonardo of Pisa 1202κΧ) Φξεζηκνπνηήζεθαλ γηα λα εθθξάζνπλ ηελ αχμεζε θνπλειηψλ! Σηνλ κήλα 0 έρνπκε 0 δεχγε, θαη ζηνλ κήλα 1 έρνπκε 1 δεχγνο (ε Γέλεζεο!) Τν δεχγνο γνληκνπνηείηαη κεηά ηνλ πξψην κήλα (δει. ζηνλ δεχηεξν). Κάζε κήλα, Κάζε δεχγνο παξάγεη έλα λέν δεχγνο Έζησ φηη είκαζηε ζηνλ κήλα n θαη έρνπκε έλα πιεζπζκφ F(n) δεσγώλ. Απηή ηελ ζηηγκή κφλν θνπλέιηα πνπ ήηαλ δσληαλά ηελ ζηηγκή n-2 παξάγνπλ έλα λέν δεχγνο. Δπνκέλσο F(n-2) δεπγάξηα πξνζηίζεηαη ζηνλ παξφλ πιεζπζκφ ησλ F(n-1). Ο νιηθφο πιεζπζκφο ηελ ζηηγκή F(n) είλαη επνκέλσο F(n) = F(n-1) + F(n-2) 0,1,1,2,3,5,8,13,21,34,55,89,. int fibonacci(int a) { if (a==0) return 0; else if (a==1) return 1; return fibonacci(a-1) + fibonacci(a-2); } ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ. 7-8

Αθαίξεζε ηεο Αλαδξνκήο Ζ ρξήζε ηεο αλαδξνκήο επηηξέπεη ηελ επίιπζε πνιχπινθσλ πξνβιεκάησλ κε άκεζο θαη ζαθή ηρόπο. Σπρλά φκσο σζηερεί από άποψε αποδοηηθόηεηας. Ζ αθαίρεζε ηες αλαδροκής από κηα ζσλάρηεζε, δειαδή, ε κεηαηξνπή ηεο ζε επαλαιεπηηθή ζπλάξηεζε ρσξίο αλαδξνκή, είλαη δπλαηή (θάησ απφ θάπνηεο ζπλζήθεο). Σπρλά πξνυπνζέηεη ηε ρξήζε θάπνησλ βνεζεηηθψλ δνκψλ (π.ρ. ζηνίβα ή νπξά ζα κειεηεζνχλ ζηελ ζπλέρεηα ηνπ καζήκαηνο). Δπίζεο ζηηο πεξηζζφηεξεο πεξηπηψζεηο κπνξνχκε λα επηιχζνπκε κηα αλαδξνκηθή εμίζσζε θαη λα βξνχκε ηελ ιχζε ηεο ζε θιεηζηή κνξθή (κε ηελ ρξήζε Αλαδξνκηθψλ Σρέζεσλ Recurrence Relations). Π.ρ. ε ιχζε ηεο εμίζσζεο Fibonacci είλαη : n 1 1 5 1 1 5 f n 5 2 5 2 ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ. 7-9 n