Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

Σχετικά έγγραφα
Διάλεξη 1: Δομές Δεδομένων και Αλγόριθμοι - Εισαγωγή. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

Διάλεξη 01: Δομές Δεδομένων και Αλγόριθμοι - Εισαγωγή

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

ιµελής Σχέση ιατεταγµένο ζεύγος (α, β): ύο αντικείµενα (όχι κατ ανάγκη διαφορετικά) σε καθορισµένη σειρά. Γενίκευση: διατεταγµένη τριάδα (α, β, γ), δι

Διάλεξη 01: Δομές Δεδομένων και Αλγόριθμοι Εισαγωγή

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

Διάλεξη 01 Δομές Δεδομένων και Αλγόριθμοι - Εισαγωγή

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

Σχέσεις. Διμελής Σχέση. ΣτοΊδιοΣύνολο. Αναπαράσταση

3 Αναδροµή και Επαγωγή

Αλγόριθµοι Οπισθοδρόµησης

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

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

Υπολογιστικά & Διακριτά Μαθηματικά

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

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα

Θεωρία Υπολογισμού και Πολυπλοκότητα

Συνεχείς συναρτήσεις πολλών µεταβλητών. ε > υπάρχει ( ) ( )

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

Μαθηµατικά για Πληροφορική

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

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

Θέματα Προγραμματισμού Η/Υ

Εισαγωγή στην Έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

Δοµές Δεδοµένων. 5η Διάλεξη Λίστες και αρχές ανάλυσης αλγορίθµων. Ε. Μαρκάκης

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

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

Βασικές οµές εδοµένων

Κεφάλαιο 1. Εισαγωγικές Εννοιες. 1.1 Σύνολα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 1: Μαθηματικό Υπόβαθρο

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

HY118- ιακριτά Μαθηµατικά. Παράδειγµα άµεσης απόδειξης. Μέθοδοι αποδείξεως για προτάσεις της µορφής εάν-τότε Αποδείξεις

επιµέλεια Θοδωρής Πιερράτος

Εισαγωγή στην Πληροφορική

Κεφάλαιο 10 ο Υποπρογράµµατα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

Εισαγωγή στις Αρχές της επιστήμης των Η/Υ. Β Λυκείου

HY118- ιακριτά Μαθηµατικά

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Υλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

Μερικές διατάξεις. HY118- ιακριτά Μαθηµατικά. Μερικές διατάξεις, παράδειγµα. ιαγράµµατα Hasse: Αναπαράσταση σχέσεων µερικής διάταξης

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

Γραµµική Αλγεβρα Ι. Ενότητα: Εισαγωγικές Εννοιες. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής

Επιµέλεια Θοδωρής Πιερράτος

Δομές Δεδομένων & Αλγόριθμοι

Βασικές Δομές Δεδομένων

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

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

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

ΘΕΩΡΙΑ ΣΥΝΟΛΩΝ. x Σ και. x Σ και διαβάζουµε «το x δεν ανήκει στο Σ». ΕΙΣΑΓΩΓΗ :

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Εισαγωγή στην επιστήμη των υπολογιστών. Οργάνωση εδομένων Κεφάλαιο 11ο ομές εδομένων

P(n, r) = n! P(n, r) = n r. (n r)! n r. n+r 1 r n!

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις

7. Βασικά στοιχεία προγραµµατισµού.

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ

char name[5]; /* define a string of characters */

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

Αναδροµή. Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής

1.5 ΑΞΙΟΣΗΜΕΙΩΤΕΣ ΤΑΥΤΟΤΗΤΕΣ

Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες

Θεωρητικά Θέµατα. Ι. Θεωρία Οµάδων. x R y ή x R y ή x y(r) [x] R = { y X y R x } X. Μέρος Σχέσεις Ισοδυναµίας, ιαµερίσεις, και Πράξεις

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

Εισαγωγή στις Αρχές της επιστήμης των Η/Υ. Β Λυκείου

HY118- ιακριτά Μαθηµατικά. Συναρτήσεις. Συνάρτηση. Συνάρτηση: Τυπικός ορισµός Συναρτήσεις

β) 3 n < n!, n > 6 i i! = (n + 1)! 1, n 1 i=1

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

HY118- ιακριτά Μαθηµατικά

ιδασκοντες: x R y x y Q x y Q = x z Q = x z y z Q := x + Q Τετάρτη 10 Οκτωβρίου 2012

οµές εδοµένων 3 ο Εξάµηνο Τµήµα Πανεπιστήµιο Πληροφορικής Ιωαννίνων ΟΜΕΣ Ε ΟΜΕΝΩΝ

Αριθμητική Ανάλυση & Εφαρμογές

Πρόβλημα 29 / σελίδα 28

ΚΕΦΑΛΑΙΟ 5: Αλγόριθµοι

a. a + b = 3. b. a διαιρεί τ ο b. c. a - b = 0. d. ΜΚΔ(a, b) = 1. e. ΕΚΠ(a, b) = 6.

Πληροφορική ΙΙ Ενότητα 1

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

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

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

Υπολογιστικά & Διακριτά Μαθηματικά

ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων

Η ΤΕΧΝΗ ΤΟΥ ΙΑΒΑΣΜΑΤΟΣ ΜΕΤΑΞΥ ΤΩΝ ΑΡΙΘΜΩΝ (ΠΑΡΕΜΒΟΛΗ ΚΑΙ ΠΡΟΣΕΓΓΙΣΗ)

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

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

HY118- ιακριτά Μαθηµατικά

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Κεφάλαιο 2 ΣΥΝΑΡΤΗΣΕΙΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ. 2.1 Συνάρτηση

Υπολογιστικά & Διακριτά Μαθηματικά

QR είναι ˆx τότε x ˆx. 10 ρ. Ποιά είναι η τιµή του ρ και γιατί (σύντοµη εξήγηση). P = [X. 0, X,..., X. (n 1), X. n] a(n + 1 : 1 : 1)

Συνάρτηση f, λέγεται η διαδικασία µε βάση την. Παρατηρήσεις - Σχόλια f

Πρόβλημα είναι μια κατάσταση η οποία χρήζει αντιμετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής.

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 2 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

Transcript:

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Εισαγωγή στις έννοιες Αλγόριθµοι και Πολυπλοκότητα, Οργάνωση Δεδοµένων και Δοµές Δεδοµένων Χρήσιµοι µαθηµατικοί ορισµοί Μαθηµατική Επαγωγή ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-1

Τι είναι τα Δεδοµένα; Δεδοµένα Αφαιρετική όψη της πραγµατικότητας. Από τα δεδοµένα προκύπτει η πληροφορία. Τα δεδοµένα που χρησιµοποιούµε δεν έχουν πάντοτε τον ίδιο βαθµό πολυπλοκότητας. Μερικά µπορούν να αναλυθούν σε απλούστερα συστατικά, ενώ άλλα δεν µπορούν. Δεδοµένα που δεν µπορούν να αναλυθούν λέγονται πρωτογενή δεδοµένα. Τα δεδοµένα ενός προβλήµατος συνήθως δεν είναι µια άµορφη συλλογή στοιχείων. Τις περισσότερες φορές βρίσκονται σε κάποια σχέση το ένα προς το άλλο, π.χ. σαν ένα απλό σύνολο: {2, 3, 5, 7, 11, 13} σαν ένα διάνυσµα: (2, 3, 5, 7, 11, 13) σαν ένας πίνακας: ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-2

Δεδοµένα Οι δοµές δεδοµένων είναι συλλογές πρωτογενών δεδοµένων, που συνδυάζονται για να σχηµατίσουν πολυπλοκότερα δεδοµένα. Θα χρησιµοποιήσουµε τον όρο πίνακας για να περιγράψουµε µια συλλογή στοιχείων τα οποία θα ονοµάσουµε κόµβους ή καταχωρήµατα. Ένας κόµβος µπορεί να είναι απλός, δηλαδή να αποτελείται από ένα µόνο πρωτογενές δεδοµένο, ή να είναι σύνθετος, οπότε αποτελείται από δύο ή περισσότερα πεδία. Τα πεδία ενός κόµβου µπορεί να αντιπροσωπεύουν πρωτογενή δεδοµένα διαφόρων τύπων. ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-3

Δεδοµένα Ένα πεδίο ή ένα καταχώρηµα χαρακτηρίζεται από τη διεύθυνση του και το µήκος του. Η διεύθυνση ενός πεδίου ή ενός καταχωρήµατος είναι η διεύθυνση της πρώτης του κυψελίδας µνήµης και το µήκος του είναι ο αριθµός κυψελίδων από τις οποίες αποτελείται. 1040 1045 1050 1 byte 4 bytes A True 1960 72418 Η διεύθυνση του πρώτου πεδίου, του πρώτου καταχωρήµατος και ολόκληρου του πίνακα είναι 1040. Η διεύθυνση του δεύτερου καταχωρήµατος 1050, και ούτω καθεξής. ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-4

Ενδόµνηµη Παράσταση Δοµών Δεδοµένων Για να αναφερθούµε σε ένα καταχώρηµα ή σε ένα πεδίο, χρησιµοποιούµε συνήθως συµβολικά ονόµατα (όπως σε γλώσσες προγραµµατισµού η ονοµασία µεταβλητών αντιστοιχεί σε µια λέξη της µνήµης). Για να πραγµατοποιηθεί µια δοµή δεδοµένων, απαιτείται η συσχέτιση των συµβολικών ονοµάτων µε αντίστοιχα τµήµατα της µνήµης του υπολογιστή. Αυτό µπορεί να γίνει µε δύο τρόπους: Διαδοχική Χορήγηση Μνήµης Παράδειγµα: Αποθήκευση δυσδιάστατου πίνακα: 1. αποθήκευση κατά γραµµές 2. αποθήκευση κατά στήλες Αποθήκευση πίνακα (m n) κατά στήλες µπορεί να γίνει µε βάση τη συνάρτηση απεικόνισης: loc(a[i,j]) = loc(a[1,1]) + (i-1) + m*(j-1) ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-5

Ενδόµνηµη Παράσταση Δοµών Δεδοµένων Συνδετική Χορήγηση Μνήµης Ένα πεδίο µπορεί να παριστά τη διεύθυνση ενός άλλου πεδίου. Έτσι κατά τη συνδετική χορήγηση µνήµης κάθε κόµβος περιέχει πληροφορία σχετικά µε το που βρίσκεται ο επόµενος κόµβος της δοµής. Για την αποθήκευση αυτής της πληροφορίας κάθε κόµβος χρειάζεται ένα ειδικό πεδίο. Το πεδίο αυτό είναι χαρακτηριστικό της συνδετικής χορήγησης µνήµης. Παράδειγµα: Συνδεδεµένη Λίστα ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-6

Παράδειγµα: Συνδεδεµένη Λίστα Οι κόµβοι της λίστας αποτελούνται από δύο πεδία: Info, για καταχώρηση πληροφοριών (των στοιχείων της λίστας), και Next (τύπου pointer) για αποθήκευση του δείκτη που δείχνει τη διεύθυνση του επόµενου κόµβου της λίστας. Info Next 1040 Β 1060 1045 1050 1065 1060... 2030 Α 1040 C... NULL.. S 1050. 1040 B 1050 A 1060 C 2030 S ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-7

Αλγόριθµοι Abu Jafar Mohammed ibn Musa al Khοwarizmi Τι είναι ένας αλγόριθµος; Αλγόριθµος είναι µια πεπερασµένη ακολουθία εντολών, αυστηρά καθορισµένων και εκτελέσιµων σε πεπερασµένο χρόνο, οι οποίες αν ακολουθηθούν επιτυγχάνεται κάποιο επιθυµητό αποτέλεσµα. Απαραίτητα κριτήρια: Υπάρχει είσοδος και έξοδος Καθορισµός εντολών (όχι ασάφειες). Περατότητα. Δηλαδή, δοθέντος ενός προβλήµατος, ένας αλγόριθµος παρέχει τις οδηγίες σύµφωνα µε τις οποίες τα δεδοµένα του προβλήµατος µετασχηµατίζονται και συνδυάζονται για να προκύψει η λύση του προβλήµατος. ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-8

Αλγόριθµοι Κατά την εκτέλεση ενός αλγόριθµου η δοµή που έχουν τα δεδοµένα παίζει πολύ µεγάλο ρόλο. Εξίσωση Wirth Aλγόριθµοι + Δεδοµένα = Προγράµµατα Κεντρικός στόχος του µαθήµατος είναι η µελέτη δοµών δεδοµένων, αναπαράστασής τους στη µνήµη ενός υπολογιστή, και αλγόριθµων που τις δηµιουργούν και τις επεξεργάζονται. ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-9

Το πρόβληµα επιλογής Πρόβληµα: Έστω ότι έχουµε n αριθµούς και θέλουµε να προσδιορίσουµε τον k-οστό πιο µεγάλο. π.χ. Έστω οι αριθµοί 5, 72, 3, 4, 1, 9, 65. Ο δεύτερος πιο µεγάλος είναι ο 3, ο έκτος πιο µεγάλος είναι ο 65, κοκ. Αυτό το πρόβληµα είναι γνωστό ως το πρόβληµα επιλογής (the selection problem). Υπάρχουν διάφοροι εύκολοι τρόποι λύσης: 1. Διαβάζουµε τους n αριθµούς σε µια λίστα, a. Ταξινοµούµε τη λίστα από το µικρότερο στο µεγαλύτερο µε βάση κάποιο αλγόριθµο ταξινόµησης. Επιστρέφουµε το k-οστό στοιχείο της λίστας, δηλαδή το a[k]. 2. Διαβάζουµε τους k πρώτους αριθµούς σε µια λίστα a. Ταξινοµούµε τη λίστα από το µικρότερο στο µεγαλύτερο. Μετά, επεξεργαζόµαστε τους υπόλοιπους n - k αριθµούς ως εξής: αν ένα στοιχείο είναι πιο µεγάλο από το a[k] το αγνοούµε, διαφορετικά το τοποθετούµε στη σωστή θέση στη λίστα. Όταν η διαδικασία αυτή τελειώσει, επιστρέφουµε το k-οστό στοιχείο της λίστας, δηλαδή το a[k]. ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-10

Το πρόβληµα επιλογής Ποιος από τους δύο αλγόριθµους είναι ο καλύτερος; Οι αλγόριθµοι είναι ικανοποιητικοί; Υλοποίηση των αλγορίθµων και εφαρµογή τους σε υπολογιστή µε n=1,000,000 και k=500,000 χρειάζεται πάρα πολύ χρόνο για να τερµατίσει. Εντούτοις υπάρχει αλγόριθµος που επιτυγχάνει το ίδιο αποτέλεσµα σε δευτερόλεπτα. ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-11

Αλγόριθµοι Σηµαντικό συµπέρασµα είναι πως το να γράφουµε ένα σωστό πρόγραµµα δεν είναι αρκετό. Ιδιαίτερα, όταν το σύνολο αρχικών δεδοµένων είναι µεγάλου µεγέθους, ο χρόνος εκτέλεσης ενός προγράµµατος είναι κύριας σηµασίας. Στο µάθηµα αυτό θα µάθουµε να υπολογίζουµε τον χρόνο εκτέλεσης αλγόριθµων και να συγκρίνουµε την αποδοτικότητα διαφορετικών αλγόριθµων, προτού τους υλοποιήσουµε. Θα µελετήσουµε επίσης µεθόδους βελτίωσης της ταχύτητας προγραµµάτων. Πρόβληµα: Εισηγηθείτε µέθοδο σύµφωνα µε την οποία µπορείτε να υλοποιήσετε πρόγραµµα το οποίο διατηρεί ένα σύνολο από προσωπικά στοιχεία φίλων σας (διεύθυνση, τηλέφωνο, κλπ) και τα επεξεργάζεται (συµπληρώνει, µεταλλάσσει, κλπ). ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-12

Ανασκόπηση Μαθηµατικών Ορισµών Ορισµός 1 Λέγοντας σύνολο εννοούµε µια ολότητα οντοτήτων. Τις οντότητες αυτές ονοµάζουµε στοιχεία του συνόλου. π.χ. {True, False} Ορισµός 2 Δοθέντων δύο στοιχείων a και b, διατεταγµένο ζεύγος (a,b) ονοµάζουµε το σύνολο {{a},{a,b}}, όπου a είναι το πρώτο µέρος του ζεύγους και b το δεύτερο µέρος του ζεύγους. Ορισµός 3 Δοθέντων δύο συνόλων A και B καρτεσιανό γινόµενο A B ονοµάζουµε το σύνολο όλων των διατεταγµένων ζευγών που έχουν ως πρώτο µέλος τους στοιχείο από το σύνολο A και ως δεύτερο µέλος τους στοιχείο από το σύνολο B, δηλαδή A B = {(a,b) a A και b B} Αν το σύνολο A έχει n στοιχεία και το σύνολο B έχει m στοιχεία, τότε τα σύνολα A B και B A έχουν n m στοιχεία. ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-13

Μαθηµατικοί Ορισµοί Ορισµός 4 Δυαδική σχέση των συνόλων A και B ονοµάζουµε οποιοδήποτε υποσύνολο του συνόλου A B. Αν Σ είναι µια σχέση, για να εκφράσουµε πως το α και το β σχετίζονται µε βάση αυτή τη σχέση, γράφουµε (α,β) Σ ή α Σ β. Ορισµός 5 Αν Σ είναι µια σχέση εντός ενός συνόλου Α, τότε η σχέση λέγεται: ανακλαστική (ή αυτοπαθής), αν για κάθε α Α, ασα συµµετρική, αν για κάθε α, β Α, α Σ β β Σ α µεταβατική, αν για κάθε α, β, γ Α, α Σ β και β Σ γ α Σ γ Ορισµός 6 Μια σχέση εντός ενός συνόλου Α λέγεται σχέση ισοδυναµίας, αν είναι ανακλαστική, συµµετρική και µεταβατική. ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-14

Λογάριθµοι, ισοτιµίες, κλπ Ορισµός 1: Χρήσιµοι νόµοι λογάριθµων: Ορισµός 2: Λέµε πως το a είναι ισότιµο µε το b ως προς µέτρο n, a b mod n, αν το n διαίρει το a-b. π.χ. 8 3 mod 5, 9 0 mod 3. Ορισµός 3: π.χ. ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-15

Σειρές ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-16

Στόχος Μαθηµατική Επαγωγή Να αποδειχτεί ότι η (µαθηµατική) πρόταση Π(n) ισχύει για κάθε n 0. Μέθοδος 1. Επαληθεύουµε πως η Π ισχύει για n=0, 2. Υποθέτουµε πως η Π ισχύει για n=k και 3. Αποδεικνύουµε πως η Π ισχύει για n=k+1. Παραλλαγές Αντί του 0, σε ορισµένες περιπτώσεις ενδιαφερόµαστε για n a, όπου το a είναι κάποιος ακέραιος. Στο δεύτερο βήµα: Υποθέτουµε πως η Π ισχύει για n k και αποδεικνύουµε πως η Π ισχύει για n=k+1. ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-17

Παράδειγµα Να αποδείξετε ότι για κάθε n 0. Απόδειξη: Θα αποδείξουµε µε τη µέθοδο της µαθηµατικής επαγωγής την πρόταση Π(n). 1. Προφανώς η Π(0) ισχύει αφού. 2. Υποθέτουµε ότι ισχύει η Π(k), δηλαδή ότι. 3. Και θα αποδείξουµε ότι ισχύει η Π(k+1):! ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-18

Εργασία Να αποδείξετε µε τη µέθοδο µαθηµατικής επαγωγής τις σειρές της διαφάνειας 1-16 Να αποδείξετε µε τη µέθοδο µαθηµατικής επαγωγής ότι, για κάθε n 7, 3 n < n! ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 1-19