Δομές Δεδομένων στο Λ.Π.. Λίστες Λίστα είναι ένας όρος –Οι όροι αυτοί ορίζονται με τη βοήθεια μιας συνάρτησης: [ ] σταθερά για κενή λίστα – nil [t1| l]

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Π Α Ρ Ο Υ Σ Ι Α Σ Η Π Τ Υ Χ Ι Α Κ Η Σ Ε Ρ Γ Α Σ Ι Α Σ Των Μαρίας ΚΑΤΣΟΥΓΙΑΝΝΗ Αγνής ΠΑΧΟΥΛΗ Τ.Ε.Ι. ΠΕΙΡΑΙΑ ΤΜΗΜΑ Η/Υ ΣΥΣΤΗΜΑΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΠΕΡΙΦ. &ΔΙΚΤΥΩΝ.
Advertisements

Project in XSB Prolog Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2008 Τμήμα Επιστήμης Υπολογιστών Πανεπιστημίου Κρήτης.
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
PROLOG.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 8 Συναρτησιακός Προγραμματισμός: Η Γλώσσα Haskell Προπτυχιακό.
Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος
Άρνηση στο Λ.Π.. Αρνητικά γεγονότα/γνώση δεν περιγράφονται στο πρόγραμμα. Απλώς δεν περιλαμβάνονται στο πρόγραμμα. Παράδειγμα –Γράφουμε: father (bob,
Κεφάλαιο 7 Λογικός Προγραμματισμός: Η Γλώσσα Prolog
Prolog Tutorial Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2010
Robustness in Geometric Computations Christoph M. Hoffmann.
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 9: Διανύσματα και λίστες.
Προβλήματα Αναζήτησης
ΕΛΕΓΧΟΣ ΑΝΑΖΗΤΗΣΗΣ. Παράδειγμα 1 member (X, [X | Y]. member (X, [Y | Z] :- member (X, Z) ? member (b, [a, b, c, b, e]) ? member (b, [b, c, b, e]) ? member.
Microsoft Excel 4.2 Κελιά Κίκα Χρυσοστόμου.
Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων, Σημασιολογικές Ενέργειες.
PL/SQL.
Εργαστήριο μαθήματος «Τεχνολογία Γνώσης» Σαντιπαντάκης Γιώργος
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος α
Δ Η Μ Η Τ Ρ Η Σ Ε Υ Σ Τ Α Θ Ι Α Δ Η Σ Τ Α Ξ Η : ΑΤ’1
Συνέπεια Τόξου (Arc Consistency)
1 ΕΝΤΟΛΕΣ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ ΘΕΣΗ ΣΗΜΕΙΟΥΘΕΣΗ ΣΗΜΕΙΟΥ ΑΠΟΣΤΑΣΗΑΠΟΣΤΑΣΗ ΕΜΒΑΔΟΝΕΜΒΑΔΟΝ.
Ομάδα Γ. Επεξεργασία πειραματικών δεδομένων
Η. Τζιαβός - Γ. Βέργος Σήματα και φασματικές μέθοδοι στη γεωπληροφορική 2013/2014ΑΠΘ/ΤΑΤΜ Τομέας Γεωδαισίας και Τοπογραφίας 3 ο Εξάμηνο Σήματα και Φασματικές.
Microsoft Excel 4.4 Τύποι και Συναρτήσεις
Τεχνολογία ΛογισμικούSlide 1 Αλγεβρική Εξειδίκευση u Καθορισμός τύπων αφαίρεσης σε όρους σχέσεων μεταξύ τύπων λειτουργιών.
ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 5 ο Εξάμηνο - Ενότητα 8 - Προβλήματα Προσπάθειας και Αποτυχίας Δημοσθένης Σταμάτης Τμήμα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
Δυναμικη Δεσμευση Μνημης Συνδεδεμενες Λιστες (dynamic memory allocation, linked lists) Πως υλοποιουμαι προγραμματα που δεν γνωριζουμε πριν την εκτελεση.
Δομές Δεδομένων. Επιλογή δομής δεδομένων Κριτήρια: – Μέγεθος του προβλήματος – Πως θα χρησιμοποιηθεί Ενέργειες που καθορίζουν το κόστος: – Lookup: αναζήτηση/έλεγχος.
Αλγόριθμοι Ταξινόμησης
Ταυτοποίηση (Unification). Πίνακας Ταυτοποίησης Όρος 1 Όρος 2 C1 X1 F (τ 1,…,τ ν ) C2 Επιτυχές αν C1 == C2 Επιτυχές {Χ1 = C2} Αποτυγχάνει Χ2 Επιτυχές.
Project in XSB Prolog Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2007 Τμήμα Επιστήμης Υπολογιστών Πανεπιστημίου Κρήτης.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Δηλαδή οι σημαντικοί δεν ασχολούνται με μικροπράγματα.
Το Συντακτικό της PROLOG
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Προγραμματισμός Η / Υ 6 η Διάλεξη.
Lab 3: Sorted List ΕΠΛ231-Δομές Δεδομένων και Αλγόριθμοι115/4/2015.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Προβλήματα Προσχεδιασμού. ΤO ΠΡOBΛHMA TOY BOΣΚOY (1) Αναπαράσταση του προβλήματος Δομή δεδομένων - Κατάσταση: – state(_, _, _,_) Θέση βοσκού, λύκου, προβάτου,
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
Ταξινόμηση - Sorting.
Project in XSB Prolog Επεξεργασία και Αναπαράσταση Γνώσης Άνοιξη 2009 Τμήμα Επιστήμης Υπολογιστών Πανεπιστημίου Κρήτης.
Data Mining software Weka. Εισαγωγή Weka: Wekato Environment for knowledge Analysis Η weka είναι ένα software για εξόρυξη δεδομένων γραμμένο σε JAVA το.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ 5 ο Εξάμηνο - Ενότητα 7 - Επεξεργασία Λιστών Δημοσθένης Σταμάτης Τμήμα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ.
Μελέτη Δ.Ε. με χρήση του Mathematica
ΚΕΦΑΛΑΙΟ Το αλφάβητο της ΓΛΩΣΣΑΣ
 Στο προηγούμενο μάθημα έγινε μια εισαγωγή στην γενική μορφή ενός προγράμματος  Αυτή η μορφή ακολουθεί την λογική της απόδειξης θεωρημάτων μέσω προτάσεων.
Α.Ε.Π.Π. ΟΠΤΙΚΟΠΟΙΗΜΕΝΗ ΠΑΡΟΥΣΙΑΣΗ ΤΗΣ ΤΑΞΙΝΟΜΗΣΗΣ ΠΙΝΑΚΑ ΜΕ ΤΗ ΜΕΘΟΔΟ ΤΗΣ ΦΥΣΣΑΛΙΔΑΣ (Bubble Sort) ΙΟΡΔΑΝΗΣ ΣΑΒΒΟΥΛΙΔΗΣ
Θεωρία υπολογισμού1 Μη αιτιοκρατικό αυτόματο Σ={0}, L = { 0 k : k=2m, k=3m}, μαντεύουμε το μήκος.
Test.
Test.
Αλγόριθμοι Ταξινόμησης – Μέρος 4
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Prolog Επεξεργασία και Αναπαράσταση Γνώσης
Ισοδυναμία ΜΠΑ με ΠΑ Για κάθε ΜΠΑ Μ υπάρχει αλγόριθμος ο οποίος κατασκευάζει ΠΑ Μ’ αιτιοκρατικό ώστε να αναγνωρίζουν την ίδια ακριβώς γλώσσα. Καθώς το.
Διδάσκων: Δρ. Γενειατάκης Δημήτρης
ΟΜΑΔΑ Α΄ Φύλλο εργασίας
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό
Σχεδιασμός των Μεταφορών
Test Tubes PowerPoint Shape Enter your subtitle here.
ΑΝ Χ<> Α_Μ(Χ) ΤΟΤΕ ΓΡΑΨΕ “Λάθος” ΤΕΛΟΣ_ΑΝ
ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Πληροφορική Γ’ Γυμνασίου
ΠΑΡΑΔΕΙΓΜΑΤΑ SQL Ή ΠΑΡΑΔΕΙΓΜΑΤΑ SQL Ή
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Διάταξη τίτλου Υπότιτλος.
Μεταγράφημα παρουσίασης:

Δομές Δεδομένων στο Λ.Π.

Λίστες Λίστα είναι ένας όρος –Οι όροι αυτοί ορίζονται με τη βοήθεια μιας συνάρτησης: [ ] σταθερά για κενή λίστα – nil [t1| l] όπου t1 όρος και l λίστα –η συνάρτηση έχει το σύμβολο [ | ] ( ↔ f(, ) ) Παραδείγματα –[8,6,cat][8| [6| [cat| []]]] –[a][a| []] –[a| X] –[a, b, 3| X]

Πρόγραμμα κωδικοποίησης λιστών list ([ ]). list ([Χ| Χ s ]):- list (Χ s ). ? list ([1, 3, 9]) –Yes list ([a|[ ]]) –Yes list ([a| X]) X = []; X = [A]; X = [A, B]

Προγράμματα διαχείρισης λιστών member (Χ, [Χ| Χ s ]). member (Χ, [Υ| Υ s ]):- member (Χ, Υ s ). ? member (b, [a, b, c]) –Yes ? member (a, []) –No ? member (b, Χ) X = [b| A]; X = [A, b| B] ….

Προγράμματα διαχείρισης λιστών append ([], Χ, Χ). append ([Χ| Χ1], Υ, [Χ| Ζ]):- append (Χ1,Υ,Ζ). ? append ([a, b], [c, d], X) X= [a, b, c, d] ? append (X, [c, d], [a, c, d]) X= [a]

Προγράμματα διαχείρισης λιστών reverse ([], []) reverse ([X| X1], Z):- reverse (X1, Y), append (Y, [X], Z). ? reverse ([a, b, c], X) X = [c, b, a] length ([], 0). length ([X| X s ], L):- length (X s, N), L is N+1

Δένδρο υπολογισμού  reverse ([a, b], X) (2ον κανόνα)  reverse ([b], Y), append (Y, [a], X) | (2ο κανόνα)  reverse ([], Y1), append (Y1, [b], Y), append (Y, [a], X) | (1ο κανόνα)  append ([], [b], Y), append (Y, [a], X) | (1ο κανόνα)  append ([b], [a], X) | (2ο κανόνα) X=[b| z]  append ([], [a], Z)) | Z= [a] []X= [b| Z], Z=[a] => X=[b|[a]]=[b,a] Yes, X=[b,a]

(Ground) Δένδρο  reverse ([a, b], [b, a]) |  reverse ([b], [b]), append ([b], [a], [b, a]) |  reverse ([], []), append ([], [b], [b], append ([b], [a], [b, a]) | (γεγονός)  append ([], [b], [b], append ([b], [a], [b, a] | (γεγονός)  append ([b], [a], [b, a] |  append ([], [a], [a] | (γεγονός) []

Προγράμματα διαχείρισης λιστών %delete(Αρχική Λίστα, Στοιχείο, Τελική Λίστα) delete ([X| X s ], X, Y s ):- delete (X s, X, Y s ). delete ([X| X s ], Z, [X| Y s ]):- X ≠ Z, delete (X s, Z, Y s ). delete ([ ], X, [ ]). Τι θα γίνει αν αφαιρέσουμε τη συνθήκη «X ≠ Z»; (not all occurrences deleted!) ? delete ([a], b, [a]) –Yes

Προγράμματα διαχείρισης λιστών %new_delete new_delete (X, [X| X s ], X s ). new_delete (X, [Y| Y s ], [Y| Z s ]):- select (X, Y s, Z s ). % select select (X, [X| X s ], X s ) select (X, [Y| Y s ], [Y| Z s ]):- select (X, Y s, Z s ) Ποιά η διαφορά των δύο “delete”;

Ταξινόμηση sort (X, Y):- permutation (X, Y), ordered (Y). Παράδειγμα «generate-and-test» Naïve permutation sort % ordered ordered ([]) ordered ([X]) ordered ([X, Y| Y s ]):- X<= Y, ordered ([Y| Y s ]). % permutation permutation (Χ, [Υ| Ζ]):- select (Υ, Χ,Υ1), permutation (Υ1, Ζ). permutation ([], []).

Insertion sort sort ([Χ| Χ s ], Υ s ):- sort (Χ s, Ζ s ), insert (Χ, Ζ s,Υ s ) sort ([], []) %insert insert (Χ, [], [Χ]) insert (Χ, [Υ| Υ s ], [Υ| Ζ s ]):- Χ > Υ, insert (Χ, Υ s, Ζ s ) insert (Χ, [Υ| Υ s ], [Χ, Υ| Υ s ]):- Χ <= Υ.

Quicksort quicksort ([Χ| Χ s ], Υ s ):- partition (Χ s, Χ, Littles, Bigs), quicksort (Littles, L s ), quicksort (Bigs, B s ), append (L s, [X| B s ], Y s ). quicksort([], []) partition ([X| X s ], Y, [X| L s ], B s ):- X<=Y, partition (X s, Y, L s, B s ) partition ([X| X s ], Y, L s, [X| B s ]):- X>Y, partition (X s, Y, L s, B s ) partition ([], Y, [], [])

Δένδρα Δένδρο είναι όρος που ορίζεται με τη βοήθεια της συνάρτησης: –void –tree (Element, Left, Right) %binary_tree (Tree) binary_tree (void). binary_tree (tree (Element, Left, Right)):- binary_tree (Left), binary_tree (Right). tree_member (Element, Tree) tree_member (Χ, tree (Χ, L, R)) tree_member (Χ, tree (Y, L, R)):- tree_member (X, Left) tree_member (Χ, tree (Y, L, R)):- tree_member (X,Right)

Δένδρα (συνέχεια) % substitute (X, Y, TreeX, TreeY) substitute (X, Y, void, void) substitute (X, Y, tree (N, L, R), tree (N1, L1, R1):- replace (X, Y, N, N1), substitute (X, Y, L, L1), substitute (X, Y, R, R1). replace (X, Y, X, Y) replace (X, Y, Z, Z):- X ≠ Z