Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου"

Transcript

1 Συμπίεση Η συμπίεση δεδομένων ελαττώνει το μέγεθος ενός αρχείου : Εξοικονόμηση αποθηκευτικού χώρου Εξοικονόμηση χρόνου μετάδοσης Τα περισσότερα αρχεία έχουν πλεονασμό στα δεδομένα τους Είναι σημαντική η συμπίεση των δεδομένων σήμερα; Νόμος του Moore: «το πλήθος των τρανζίστορ που μπορούν να τοποθετηθούν σε ένα ολοκληρωμένο κύκλωμα διπλασιάζεται κάθε μήνες» IBM report on Big Data 2011: «Καθημερινά παράγονται 2, bytes πληροφοριών»

2 Συμπίεση

3 Κατηγορίες Συμπίεσης Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου Συμπίεση χωρίς απώλειες δεδομένων (lossless compression) π.χ. συμπίεση κειμένου, συμπίεση αρχείων

4 Κατηγορίες Συμπίεσης Συμπίεση χωρίς απώλειες (lossless compression) ακολουθία εισόδου A συμπίεση C συμπιεσμένη ακολουθία C(A) αποσυμπίεση C 1 αρχική ακολουθία A Λόγος συμπίεσης = C(A) A

5 Κατηγορίες Συμπίεσης Συμπίεση χωρίς απώλειες (lossless compression) ακολουθία εισόδου A συμπίεση C συμπιεσμένη ακολουθία C(A) αποσυμπίεση C 1 αρχική ακολουθία A Λόγος συμπίεσης = C(A) A Θα δούμε δύο βασικές τεχνικές: Κωδικοποίηση χαρακτήρων σταθερού μήκους με κώδικα μεταβλητού μήκους (Huffman). Κωδικοποίηση χαρακτήρων μεταβλητού μήκους με κώδικα σταθερού μήκους (LZW).

6 Συμπίεση Ερώτημα Μπορούμε να συμπιέσουμε χωρίς απώλειες οποιαδήποτε ακολουθία δυαδικών ψηφίων; n bits n 1 bits n 2 bits

7 Συμπίεση Ερώτημα Μπορούμε να συμπιέσουμε χωρίς απώλειες οποιαδήποτε ακολουθία δυαδικών ψηφίων; n bits n 1 bits n 2 bits 1

8 Συμπίεση Ερώτημα Μπορούμε να συμπιέσουμε χωρίς απώλειες οποιαδήποτε ακολουθία δυαδικών ψηφίων; Ας υποθέσουμε ότι οποιαδήποτε ακολουθία n bit μπορεί να συμπιεστεί σε μια ακολουθία < n bit. Υπάρχουν 2 n διαφορετικές ακολουθίες των n bit. Άρα θα πρέπει να υπάρχουν τουλάχιστον τόσες ακολουθίες με < n bit. Όμως όλες οι ακολουθίες με < n bit είναι n 1 k=0 2 k = 2n = 2n 1 < 2 n

9 Συμπίεση Παράδειγμα Ποιο ποσοστό όλων των ακολουθιών με 1000 δυαδικά ψηφία μπορεί να συμπιεστεί χωρίς απώλειες κατά 50% ή παραπάνω; Υπάρχουν διαφορετικές ακολουθίες των 1000 bit. Το πλήθος των ακολουθιών με το πολύ 500 bit είναι 500 k=0 2 k = = < Έχουμε = δηλαδή μπορούν να συμπιεστούν το πολύ 1 στις ακολουθίες!

10 Συμπίεση: Θεωρία υπολογισμού

11 Συμπίεση: Θεωρία υπολογισμού Παράγεται από το Java πρόγραμμα: public class RandomBits { public static void main(string[] args) { int x = 11111; for (int i = 0; i < ; i++) { x = x * ; BinaryStdOut.write(x > 0); } BinaryStdOut.close(); } }

12 Κώδικες Huffman Μέθοδος συμπίεσης δεδομένων: Μας δίνεται αρχείο με n διαφορετικούς χαρακτήρες. Θέλουμε να αντιστοιχίσουμε τον κάθε χαρακτήρα σε ένα δυαδικό κωδικό, έτσι ώστε να ελαχιστοποιηθεί ο συνολικός αριθμός των bits όλου του αρχείου. Π.χ. Αρχείο που αποτελείται από τους χαρακτήρες α,β,γ,δ,ε και ζ α β γ δ ε ζ συχνότητα ( 10 3 ) κώδικας σταθερού μήκους κώδικας μεταβλητού μήκους Απροθηματικός κώδικας: κανένας κωδικός δεν αποτελεί πρόθημα άλλου κωδικού

13 Κώδικες Huffman α β γ δ ε ζ συχνότητα ( 10 3 ) κώδικας σταθερού μήκους κώδικας μεταβλητού μήκους α:45 β:13 γ:12 δ:16 ε:9 ζ: α: γ:12 β:13 14 δ: ζ:5 ε: = = 224

14 Κώδικες Huffman συχνότητα του χαρακτήρα c βάθος του c στο δένδρο Τ συνολικός αριθμός bits κωδικοποίησης α:45 β:13 γ:12 δ:16 ε:9 ζ: α: γ:12 β:13 14 δ: ζ:5 ε: = = 224

15 Κώδικες Huffman Κατασκευή του κώδικα Σε κάθε βήμα συνδυάζουμε 2 χαρακτήρες με την ελάχιστη συχνότητα. Έστω x και y δύο τέτοιοι χαρακτήρες. Αντικαθιστούμε τους x και y από νέο χαρακτήρα z με συχνότητα α:45 β:13 γ:12 δ:16 ε:9 ζ:5

16 Κώδικες Huffman Κατασκευή του κώδικα Σε κάθε βήμα συνδυάζουμε 2 χαρακτήρες με την ελάχιστη συχνότητα. Έστω x και y δύο τέτοιοι χαρακτήρες. Αντικαθιστούμε τους x και y από νέο χαρακτήρα z με συχνότητα 14 α:45 β:13 γ:12 δ:16 ε:9 ζ:5

17 Κώδικες Huffman Κατασκευή του κώδικα Σε κάθε βήμα συνδυάζουμε 2 χαρακτήρες με την ελάχιστη συχνότητα. Έστω x και y δύο τέτοιοι χαρακτήρες. Αντικαθιστούμε τους x και y από νέο χαρακτήρα z με συχνότητα α:45 δ:16 14 β:13 γ:12 ε:9 ζ:5

18 Κώδικες Huffman Κατασκευή του κώδικα Σε κάθε βήμα συνδυάζουμε 2 χαρακτήρες με την ελάχιστη συχνότητα. Έστω x και y δύο τέτοιοι χαρακτήρες. Αντικαθιστούμε τους x και y από νέο χαρακτήρα z με συχνότητα α:45 δ: ε:9 ζ:5 β:13 γ:12

19 Κώδικες Huffman Κατασκευή του κώδικα Σε κάθε βήμα συνδυάζουμε 2 χαρακτήρες με την ελάχιστη συχνότητα. Έστω x και y δύο τέτοιοι χαρακτήρες. Αντικαθιστούμε τους x και y από νέο χαρακτήρα z με συχνότητα α:45 25 δ:16 14 β:13 γ:12 ε:9 ζ:5

20 Κώδικες Huffman Κατασκευή του κώδικα Σε κάθε βήμα συνδυάζουμε 2 χαρακτήρες με την ελάχιστη συχνότητα. Έστω x και y δύο τέτοιοι χαρακτήρες. Αντικαθιστούμε τους x και y από νέο χαρακτήρα z με συχνότητα 30 α:45 25 δ:16 14 β:13 γ:12 ε:9 ζ:5

21 Κώδικες Huffman Κατασκευή του κώδικα Σε κάθε βήμα συνδυάζουμε 2 χαρακτήρες με την ελάχιστη συχνότητα. Έστω x και y δύο τέτοιοι χαρακτήρες. Αντικαθιστούμε τους x και y από νέο χαρακτήρα z με συχνότητα α: δ:16 14 β:13 γ:12 ε:9 ζ:5

22 Κώδικες Huffman Κατασκευή του κώδικα Σε κάθε βήμα συνδυάζουμε 2 χαρακτήρες με την ελάχιστη συχνότητα. Έστω x και y δύο τέτοιοι χαρακτήρες. Αντικαθιστούμε τους x και y από νέο χαρακτήρα z με συχνότητα 55 α: δ:16 14 β:13 γ:12 ε:9 ζ:5

23 Κώδικες Huffman Κατασκευή του κώδικα Σε κάθε βήμα συνδυάζουμε 2 χαρακτήρες με την ελάχιστη συχνότητα. Έστω x και y δύο τέτοιοι χαρακτήρες. Αντικαθιστούμε τους x και y από νέο χαρακτήρα z με συχνότητα 55 α:45 δ: β:13 γ:12 ε:9 ζ:5

24 Κώδικες Huffman Κατασκευή του κώδικα Σε κάθε βήμα συνδυάζουμε 2 χαρακτήρες με την ελάχιστη συχνότητα. Έστω x και y δύο τέτοιοι χαρακτήρες. Αντικαθιστούμε τους x και y από νέο χαρακτήρα z με συχνότητα α:45 δ: β:13 γ:12 ε:9 ζ:5

25 Κώδικες Huffman Υλοποίηση με ουρά προτεραιότητας Σε κάθε βήμα : Συνδυάζουμε 2 χαρακτήρες, έστω x και y, με την ελάχιστη συχνότητα 2 εξαγωγές ελάχιστου Αντικαθιστούμε τους x και y από νέο χαρακτήρα z με συχνότητα εισαγωγή στοιχείου Πλήθος των εξαγωγών ελάχιστου = πλήθος εισαγωγών

26 Κώδικες Huffman Υλοποίηση με ουρά προτεραιότητας Σε κάθε βήμα : Συνδυάζουμε 2 χαρακτήρες, έστω x και y, με την ελάχιστη συχνότητα 2 εξαγωγές ελάχιστου Αντικαθιστούμε τους x και y από νέο χαρακτήρα z με συχνότητα εισαγωγή στοιχείου Πλήθος των εξαγωγών ελάχιστου = πλήθος εισαγωγών = πλήθος κόμβων του δένδρου = α:45 όπου ο αριθμός των διαφορετικών χαρακτήρων δ:16 14 β:13 γ:12 Συνολικός χρόνος κατασκευής = ε:9 ζ:5

27 Κώδικες Huffman Λήμμα Έστω x και y δύο χαρακτήρες με την ελάχιστη συχνότητα. Υπάρχει βέλτιστος κώδικας στον οποίο οι κωδικοί των x και y έχουν το ίδιο μήκος και διαφέρουν μόνο στο τελευταίο ψηφίο. Έστω Τ ένα βέλτιστο δένδρο, με τους χαρακτήρες a και b να έχουν μέγιστο βάθος. T T T x a a y y b a b ανταλλαγή x και a x b ανταλλαγή y και b x y

28 Κώδικες Huffman Λήμμα Έστω x και y δύο χαρακτήρες με την ελάχιστη συχνότητα. Υπάρχει βέλτιστος κώδικας στον οποίο οι κωδικοί των x και y έχουν το ίδιο μήκος και διαφέρουν μόνο στο τελευταίο ψηφίο. Έστω Τ ένα βέλτιστο δένδρο, με τους χαρακτήρες a και b να έχουν μέγιστο βάθος. T T x a y y a b ανταλλαγή x και a x b

29 Κώδικες Huffman Λήμμα Έστω x και y δύο χαρακτήρες με την ελάχιστη συχνότητα. Υπάρχει βέλτιστος κώδικας στον οποίο οι κωδικοί των x και y έχουν το ίδιο μήκος και διαφέρουν μόνο στο τελευταίο ψηφίο. Έστω Τ ένα βέλτιστο δένδρο, με τους χαρακτήρες a και b να έχουν μέγιστο βάθος. T T x a y y a b ανταλλαγή x και a x b

30 Κώδικες Huffman Λήμμα Έστω x και y δύο χαρακτήρες με την ελάχιστη συχνότητα. Υπάρχει βέλτιστος κώδικας στον οποίο οι κωδικοί των x και y έχουν το ίδιο μήκος και διαφέρουν μόνο στο τελευταίο ψηφίο. Έστω Τ ένα βέλτιστο δένδρο, με τους χαρακτήρες a και b να έχουν μέγιστο βάθος. T T T x a a y y b a b ανταλλαγή x και a x b ανταλλαγή y και b x y Συνεπώς, επειδή το Τ είναι βέλτιστο έχουμε

31 Κώδικες Huffman Λήμμα Έστω x και y δύο χαρακτήρες με την ελάχιστη συχνότητα και z ο χαρακτήρας που αντιστοιχεί στο συνδυασμό των x και y. Έστω Τ ένα βέλτιστο δένδρο για το νέο αλφάβητο (με το z στη θέση των a και b). Τότε, το δένδρο Τ που προκύπτει από το Τ με την αντικατάσταση του z είναι βέλτιστο για τον αρχικό αλφάβητο. T T z x y

32 Κώδικες Huffman Λήμμα Έστω x και y δύο χαρακτήρες με την ελάχιστη συχνότητα και z ο χαρακτήρας που αντιστοιχεί στο συνδυασμό των x και y. Έστω Τ ένα βέλτιστο δένδρο για το νέο αλφάβητο (με το z στη θέση των a και b). Τότε, το δένδρο Τ που προκύπτει από το Τ με την αντικατάσταση του z είναι βέλτιστο για τον αρχικό αλφάβητο. T T Έστω S ένα βέλτιστο δένδρο για το αρχικό αλφάβητο, με τα x και y αδέλφια στο μέγιστο βάθος. z x y Θεωρούμε το δένδρο S που προκύπτει από την αντικατάσταση των x και y με το z. Ας υποθέσουμε ότι το Τ δεν είναι βέλτιστο. Άτοπο!

33 Κώδικες Huffman Για να είναι δυνατή η αποκωδικοποίηση θα να στείλουμε και τον κώδικα μαζί με το κωδικοποιημένο κείμενο. συχνότητα ( 10 3 ) κώδικας σταθερού μήκους κώδικας μεταβλητού μήκους α β γ δ ε ζ α: γ:12 β:13 14 δ: ζ:5 ε:9 Αρκεί να στείλουμε το δυαδικό δένδρο που αντιστοιχεί στον κώδικα: Μπορεί να αναπαρασταθεί με n bits!

34 Διάσχιση Δυαδικού Δένδρου Ένα δυαδικό δένδρο με εσωτερικού κόμβους μπορεί να αναπαρασταθεί από μια ακολουθία από δυαδικά ψηφία, που ικανοποιεί τις ακόλουθες συνθήκες: ψηφιά είναι και ψηφία είναι Για κάθε θέση, ο αριθμός των που βρίσκονται πριν το είναι μεγαλύτερος ή ίσος του αριθμού των που βρίσκονται πριν το

35 Διάσχιση Δυαδικού Δένδρου Εκτελούμε προδιατεταγμένη διάσχιση του δένδρου. Αν ο επόμενος κόμβος που συναντάμε είναι εσωτερικός τότε το επόμενο ψηφίο είναι, διαφορετικά, αν είναι εξωτερικός κόμβος, τότε το επόμενο ψηφίο είναι.

36 Διάσχιση Δυαδικού Δένδρου Εκτελούμε προδιατεταγμένη διάσχιση του δένδρου. Αν ο επόμενος κόμβος που συναντάμε είναι εσωτερικός τότε το επόμενο ψηφίο είναι, διαφορετικά, αν είναι εξωτερικός κόμβος, τότε το επόμενο ψηφίο είναι.

37 Διάσχιση Δυαδικού Δένδρου Εκτελούμε προδιατεταγμένη διάσχιση του δένδρου. Αν ο επόμενος κόμβος που συναντάμε είναι εσωτερικός τότε το επόμενο ψηφίο είναι, διαφορετικά, αν είναι εξωτερικός κόμβος, τότε το επόμενο ψηφίο είναι.

38 Διάσχιση Δυαδικού Δένδρου Εκτελούμε προδιατεταγμένη διάσχιση του δένδρου. Αν ο επόμενος κόμβος που συναντάμε είναι εσωτερικός τότε το επόμενο ψηφίο είναι, διαφορετικά, αν είναι εξωτερικός κόμβος, τότε το επόμενο ψηφίο είναι.

39 Διάσχιση Δυαδικού Δένδρου Εκτελούμε προδιατεταγμένη διάσχιση του δένδρου. Αν ο επόμενος κόμβος που συναντάμε είναι εσωτερικός τότε το επόμενο ψηφίο είναι, διαφορετικά, αν είναι εξωτερικός κόμβος, τότε το επόμενο ψηφίο είναι.

40 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.

41 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.

42 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.

43 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.

44 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.

45 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.

46 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.

47 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο.

48 Διάσχιση Δυαδικού Δένδρου Κατασκευή δυαδικού δένδρου από ακολουθία δυαδικών ψηφίων Εξετάζουμε ένα-ένα τα ψηφία της ακολουθίας. Αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εσωτερικό κόμβο και κατασκευάζουμε αναδρομικά πρώτα το αριστερό και μετά το δεξί υποδένδρο. Διαφορετικά, αν το επόμενο ψηφίο είναι τότε δημιουργούμε νέο εξωτερικό κόμβο. Κατασκευή με αναδρομή class Node { Item item; Node l; Node r; Node(Item v, Node l, Node r) { this.item = v; this.l = l; this.r = r; } } int k; // τρέχουσα θέση Node createbt(char[] Β) { if (k == B.length) return null; if (B[k++] == '0') return null; } Item v = Node x = new Node(v,null,null); x.l = createbt(b); x.r = createbt(b); return x;

49 Αλγόριθμοι Lempel-Ziv Κατηγορία αλγόριθμων συμπίεσης, οι οποίοι σε γενικές γραμμές κάνουν τα εξής: Κατασκευάζουν μια δομή λεξικού από συμβολοσειρές που έχουν δει μέχρι την τρέχουσα θέση στο αρχείο εισόδου. Αναζητούν στη δομή αυτή για να βρουν τη μεγαλύτερη συμβολοσειρά που ταυτίζεται με τη συμβολοσειρά η οποία ξεκινά από την τρέχουσα θέση. Επιστρέφουν ένα κώδικα που αντιστοιχεί σε μια τέτοια ταύτιση. Η τρέχουσα θέση μετακινείται μετά τη συμβολοσειρά που έχει ταυτιστεί.

50 Αλγόριθμοι Lempel-Ziv

51 Αλγόριθμος Lempel-Ziv-Welch Συμπίεση Το λεξικό D αντιστοιχεί ακολουθίες χαρακτήρων σε κωδικούς των W bit. Αρχικά το D περιέχει μόνο τις συμβολοσειρές με ένα χαρακτήρα. Εκτελούμε τα παρακάτω βήματα μέχρι να διαβαστεί ολόκληρο το αρχείο εισόδου: Αναζητούμε στο D τη μεγαλύτερη συμβολοσειρά s η οποία αποτελεί πρόθεμα μιας συμβολοσειράς που ξεκινά από την τρέχουσα θέση του αρχείου. Τυπώνουμε τον κωδικό που αντιστοιχεί στην s. Μετακινούμε την τρέχουσα θέση μετά την s. Έστω c ο επόμενος χαρακτήρας. Εισαγάγουμε στη D τη συμβολοσειρά sc και της δίνουμε τον επόμενο διαθέσιμο κωδικό.

52 Αλγόριθμος Lempel-Ziv-Welch Στα παραδείγματα υποθέτουμε ότι η είσοδος αποτελείται από ακολουθίες χαρακτήρων σε κωδικοποίηση ASCII των 7 bit. Το λεξικό D αντιστοιχεί ακολουθίες χαρακτήρων σε κώδικες των 8 bit στους οποίους αναφερόμαστε με τις τιμές τους στο δεκαεξαδικό σύστημα. Χρησιμοποιούμε τους κώδικες από το 81 και μετά για κάθε νέα συμβολοσειρά που ανακαλύπτουμε στο αρχείο εισόδου.

53 Αλγόριθμος Lempel-Ziv-Welch είσοδος ταύτιση κωδικός A B R A C A D A B R A B R A B R A A Α 42 Β 43 C 44 D 52 R

54 Αλγόριθμος Lempel-Ziv-Welch είσοδος ταύτιση κωδικός A B R A C A D A B R A B R A B R A A B εισαγωγή ΑΒ 41 Α 42 Β 43 C 44 D 52 R 81 B

55 Αλγόριθμος Lempel-Ziv-Welch είσοδος ταύτιση κωδικός A B R A C A D A B R A B R A B R A A B R εισαγωγή ΒR 41 Α 42 Β 43 C 44 D 52 R 81 B 82 R

56 Αλγόριθμος Lempel-Ziv-Welch είσοδος ταύτιση κωδικός A B R A C A D A B R A B R A B R A A B R A εισαγωγή RA 41 Α 42 Β 43 C 44 D 52 R 81 B 82 R 83 A

57 Αλγόριθμος Lempel-Ziv-Welch είσοδος ταύτιση κωδικός A B R A C A D A B R A B R A B R A A B R A C εισαγωγή AC 41 Α 42 Β 43 C 44 D 52 R 81 B 84 C 82 R 83 A

58 Αλγόριθμος Lempel-Ziv-Welch είσοδος ταύτιση κωδικός A B R A C A D A B R A B R A B R A A B R A C A εισαγωγή CA 41 Α 42 Β 43 C 44 D 52 R 81 B 84 C 82 R 85 A 83 A

59 Αλγόριθμος Lempel-Ziv-Welch είσοδος ταύτιση κωδικός A B R A C A D A B R A B R A B R A A B R A C A D εισαγωγή AD 41 Α 42 Β 43 C 44 D 52 R 81 B 84 C 86 D 82 R 85 A 83 A

60 Αλγόριθμος Lempel-Ziv-Welch είσοδος ταύτιση κωδικός A B R A C A D A B R A B R A B R A A B R A C A D AB εισαγωγή DA 41 Α 42 Β 43 C 44 D 52 R 81 B 84 C 86 D 82 R 85 A 87 A 83 A

61 Αλγόριθμος Lempel-Ziv-Welch είσοδος ταύτιση κωδικός A B R A C A D A B R A B R A B R A A B R A C A D AB RA εισαγωγή ABR 41 Α 42 Β 43 C 44 D 52 R 81 B 84 C 86 D 82 R 85 A 87 A 83 A 88 R

62 Αλγόριθμος Lempel-Ziv-Welch είσοδος ταύτιση κωδικός A B R A C A D A B R A B R A B R A A B R A C A D AB RA BR εισαγωγή RAB 41 Α 42 Β 43 C 44 D 52 R 81 B 84 C 86 D 82 R 85 A 87 A 83 A 88 R 89 B

63 Αλγόριθμος Lempel-Ziv-Welch είσοδος ταύτιση κωδικός A B R A C A D A B R A B R A B R A A B R A C A D AB RA BR ABR A εισαγωγή BRA 41 Α 42 Β 43 C 44 D 52 R 81 B 84 C 86 D 82 R 85 A 87 A 83 A 88 R 8A A 89 B

64 Αλγόριθμος Lempel-Ziv-Welch είσοδος ταύτιση κωδικός A B R A C A D A B R A B R A B R A A B R A C A D AB RA BR ABR A εισαγωγή ABRA 41 Α 42 Β 43 C 44 D 52 R 81 B 84 C 86 D 82 R 85 A 87 A 83 A 88 R 8A A 89 B 8B A

65 Αλγόριθμος Lempel-Ziv-Welch Αποσυμπίεση Χρησιμοποιούμε ένα λεξικό D (αντίστροφο του D) το οποίο αντιστοιχεί κωδικούς των W bit σε ακολουθίες χαρακτήρων. Αρχικά το D περιέχει μόνο τους κωδικούς κάθε ξεχωριστού χαρακτήρα. Έστω S η τρέχουσα συμβολοσειρά. Αρχικά η S περιέχει το χαρακτήρα που αντιστοιχεί στον πρώτο κωδικό. Εκτελούμε τα παρακάτω βήματα μέχρι να διαβαστούν όλοι οι κωδικοί: Τυπώνουμε την τρέχουσα συμβολοσειρά S. Διαβάζουμε από την είσοδο τον επόμενο κωδικό x. Αναζητούμε στο D τη συμβολοσειρά S η οποία αντιστοιχεί στον x. Αντιστοιχούμε τον επόμενο διαθέσιμο κωδικό στη συμβολοσειρά S c όπου c ο πρώτος χαρακτήρας της S. Θέτουμε ως τρέχουσα συμβολοσειρά S S.

66 Αλγόριθμος Lempel-Ziv-Welch x S A B εισαγωγή (81,AB) κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 43 C 44 D 81 AB R A 8B

67 Αλγόριθμος Lempel-Ziv-Welch x S A B R εισαγωγή (82,BR) κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 43 C 44 D 81 AB 82 BR R A 8B

68 Αλγόριθμος Lempel-Ziv-Welch x S A B R A εισαγωγή (83,RA) κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 43 C 44 D 81 AB 82 BR 83 RA R A 8B

69 Αλγόριθμος Lempel-Ziv-Welch x S A B R A C εισαγωγή (84,AC) κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 43 C 44 D 81 AB 82 BR 83 RA 84 AC R A 8B

70 Αλγόριθμος Lempel-Ziv-Welch x S A B R A C A εισαγωγή (85,CA) κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 43 C 44 D 81 AB 82 BR 83 RA 84 AC 85 CA 52 R A 8B

71 Αλγόριθμος Lempel-Ziv-Welch x S A B R A C A D εισαγωγή (86,AD) κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 43 C 44 D 81 AB 82 BR 83 RA 84 AC 85 CA 52 R 86 AD A 8B

72 Αλγόριθμος Lempel-Ziv-Welch x S A B R A C A D AB εισαγωγή (87,DA) κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 43 C 44 D 81 AB 82 BR 83 RA 84 AC 85 CA 52 R 86 AD 87 DA A 8B

73 Αλγόριθμος Lempel-Ziv-Welch x S A B R A C A D AB RA εισαγωγή (88,ABR) κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 43 C 44 D 81 AB 82 BR 83 RA 84 AC 85 CA 52 R 86 AD 87 DA 88 ABR 89 8A 8B

74 Αλγόριθμος Lempel-Ziv-Welch x S A B R A C A D AB RA BR εισαγωγή (89,RAB) κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 43 C 44 D 81 AB 82 BR 83 RA 84 AC 85 CA 52 R 86 AD 87 DA 88 ABR 89 RAB 8A 8B

75 Αλγόριθμος Lempel-Ziv-Welch x S A B R A C A D AB RA BR ABR εισαγωγή (8A,BRA) κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 43 C 44 D 81 AB 82 BR 83 RA 84 AC 85 CA 52 R 86 AD 87 DA 88 ABR 89 RAB 8A BRA 8B

76 Αλγόριθμος Lempel-Ziv-Welch x S A B R A C A D AB RA BR ABR A εισαγωγή (8B,ABRA) κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 43 C 44 D 81 AB 82 BR 83 RA 84 AC 85 CA 52 R 86 AD 87 DA 88 ABR 89 RAB 8A BRA 8B ABRA

77 Αλγόριθμος Lempel-Ziv-Welch x S A B R A C A D AB RA BR ABR A κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 43 C 44 D 81 AB 82 BR 83 RA 84 AC 85 CA 52 R 86 AD 87 DA 88 ABR 89 RAB 8A BRA 8B ABRA

78 Αλγόριθμος Lempel-Ziv-Welch Προβληματική περίπτωση Έστω ότι έχουμε την ακόλουθη συμπίεση είσοδος ταύτιση κωδικός A B A Β A Β A A B ΑΒ ABΑ η οποία δίνει τους ακόλουθους κώδικες συμβολοσειρά κώδικας συμβολοσειρά κώδικας A 41 B 42 AB 81 BA 82 ABA 83

79 Αλγόριθμος Lempel-Ziv-Welch Προβληματική περίπτωση Στην αποσυμπίεση συναντάμε το ακόλουθο πρόβλημα x S A B AΒ? Χρειαζόμαστε τη συμβολοσειρά με κωδικό 83 προτού εισαχθεί στον πίνακα! κώδικας συμβολοσειρά κώδικας συμβολοσειρά 41 A 42 B 81 AB 82 ΒΑ 83

80 Αλγόριθμος Lempel-Ziv-Welch Προβληματική περίπτωση x S A B AΒ ABA κώδικας συμβολοσειρά 41 A 42 B κώδικας συμβολοσειρά 81 AB 82 ΒΑ 83 Συμβαίνει όταν ο επόμενος κώδικας εισόδου είναι αυτός που πρέπει να αναθέσουμε στην επόμενη συμβολοσειρά S c την οποία αποθηκεύουμε στο D. Μπορεί να διορθωθεί εύκολα: ο χαρακτήρας c πρέπει να είναι ίδιος με τον πρώτο χαρακτήρα της S.

81 Αλγόριθμος Lempel-Ziv-Welch Πρακτικές Υλοποιήσεις Για τη συμπίεση μπορούμε να υλοποιήσουμε το λεξικό ως trie το οποίο επιτρέπει την αναζήτηση του μεγαλύτερου προθήματος (longestprefixof). Για την αποσυμπίεση αρκεί ένας πίνακας μεγέθους 2 W. Η διαχείριση του λεξικού μπορεί να είναι προβληματική. Έχουν προταθεί διάφοροι τρόποι αντιμετώπισης, π.χ.: Όταν το λεξικό γίνει πολύ μεγάλο το διαγράφουμε και συνεχίζουμε με ένα νέο λεξικό (GIF) Όταν το λεξικό είναι αναποτελεσματικό το διαγράφουμε και συνεχίζουμε με ένα νέο λεξικό (Unix compress) Όταν το λεξικό φτάσει ένα ανώτατο όριο μεγέθους διαγράφουμε τα στοιχεία που χρησιμοποιήθηκαν λιγότερο πρόσφατα (British telecom standard)

82 Αλγόριθμοι συμπίεσης χωρίς απώλειες

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 1 2 3 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από

Διαβάστε περισσότερα

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών : Δένδρα Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών : Ανάλυση αλγορίθμων (π.χ. δένδρα αναδρομής) Δομές δεδομένων (π.χ. δένδρα αναζήτησης) ακμή Κατηγορίες (αύξουσα

Διαβάστε περισσότερα

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

Διαβάστε περισσότερα

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε. Ψηφιακά Δένδρα Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών τα οποία είναι ακολουθίες συμβάλλων από ένα πεπερασμένο αλφάβητο Ένα στοιχείο γράφεται ως, όπου κάθε. Μπορούμε να

Διαβάστε περισσότερα

Κεφάλαιο 10 Ψηφιακά Λεξικά

Κεφάλαιο 10 Ψηφιακά Λεξικά Κεφάλαιο 10 Ψηφιακά Λεξικά Περιεχόμενα 10.1 Εισαγωγή... 213 10.2 Ψηφιακά Δένδρα... 214 10.3 Υλοποίηση σε Java... 222 10.4 Συμπιεσμένα και τριαδικά ψηφιακά δένδρα... 223 Ασκήσεις... 225 Βιβλιογραφία...

Διαβάστε περισσότερα

Συλλογές, Στοίβες και Ουρές

Συλλογές, Στοίβες και Ουρές Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση οποιουδήποτε στοιχείου. Συλλογή (bag) : Επιστρέφει

Διαβάστε περισσότερα

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i. Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

Ουρά Προτεραιότητας (priority queue)

Ουρά Προτεραιότητας (priority queue) Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει δύο βασικές λειτουργίες : Εισαγωγή στοιχείου με δεδομένο κλειδί. Επιστροφή ενός στοιχείου με μέγιστο (ή ελάχιστο) κλειδί και διαγραφή

Διαβάστε περισσότερα

7ο ΕΡΓΑΣΤΗΡΙΟ AAAABBBBAAAAABBBBBBCCCCCCCCCCCCCCBBABAAAABBBBBBCCCCD

7ο ΕΡΓΑΣΤΗΡΙΟ AAAABBBBAAAAABBBBBBCCCCCCCCCCCCCCBBABAAAABBBBBBCCCCD ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2010 11 Ιστοσελίδα μαθήματος: http://eclass.teilam.gr/di288 1 Συμπίεση

Διαβάστε περισσότερα

Πληροφορική Ι. Μάθημα 9 ο Συμπίεση δεδομένων. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ.

Πληροφορική Ι. Μάθημα 9 ο Συμπίεση δεδομένων. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Δρ. Οι διαφάνειες έχουν βασιστεί στο βιβλίο «Εισαγωγή στην επιστήμη των υπολογιστών» του B. Forouzanκαι Firoyz Mosharraf(2 η έκδοση-2010) Εκδόσεις Κλειδάριθμος Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου

Διαβάστε περισσότερα

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης 1. Στόχος του εργαστηρίου Στόχος του δέκατου εργαστηρίου

Διαβάστε περισσότερα

Ουρά Προτεραιότητας (priority queue)

Ουρά Προτεραιότητας (priority queue) Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει τις ακόλουθες λειτουργίες PQinsert : εισαγωγή στοιχείου PQdelmax : επιστροφή του στοιχείου με το μεγαλύτερο* κλειδί και διαγραφή του

Διαβάστε περισσότερα

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

Διαβάστε περισσότερα

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με

Διαβάστε περισσότερα

Αρχές κωδικοποίησης. Τεχνολογία Πολυµέσων 08-1

Αρχές κωδικοποίησης. Τεχνολογία Πολυµέσων 08-1 Αρχές κωδικοποίησης Απαιτήσεις κωδικοποίησης Είδη κωδικοποίησης Βασικές τεχνικές κωδικοποίησης Κωδικοποίηση Huffman Κωδικοποίηση µετασχηµατισµών Κβαντοποίηση διανυσµάτων ιαφορική κωδικοποίηση Τεχνολογία

Διαβάστε περισσότερα

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

Δομές Δεδομένων & Αλγόριθμοι Σωροί 1 Ορισμοί Ένα δέντρο μεγίστων (δένδρο ελαχίστων) είναι ένα δένδρο, όπου η τιμή κάθε κόμβου είναι μεγαλύτερη (μικρότερη) ή ίση με των τιμών των παιδιών του Ένας σωρός μεγίστων (σωρός ελαχίστων) είναι

Διαβάστε περισσότερα

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 7 ο έντρο Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης έντρο Ορισµός Υλοποίηση µε Πίνακα Υλοποίηση µε είκτες υαδικό έντρο

Διαβάστε περισσότερα

Συστήματα Πολυμέσων. Ενότητα 6: Συμπίεση Ψηφιακής Εικόνας. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Συστήματα Πολυμέσων. Ενότητα 6: Συμπίεση Ψηφιακής Εικόνας. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 6: Συμπίεση Ψηφιακής Εικόνας Θρασύβουλος Γ. Τσιάτσος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

Διαβάστε περισσότερα

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του

Διαβάστε περισσότερα

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

Διαβάστε περισσότερα

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

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 22: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης - Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης (ΔΔΑ) Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου Εισαγωγή στοιχείου

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 Χρησιµοποιούµε τη δοµή Κατ οίκον Εργασία 3 Σκελετοί Λύσεων typedef struct Node int data; struct node *lchild; struct node *rbro; node; και υποθέτουµε πως ένα τυχαίο δένδρο είναι υλοποιηµένο ως

Διαβάστε περισσότερα

Συμπίεση Δεδομένων

Συμπίεση Δεδομένων Συμπίεση Δεδομένων 2014-2015 Ρυθμός κωδικοποίησης Ένας κώδικας που απαιτεί L bits για την κωδικοποίηση μίας συμβολοσειράς N συμβόλων που εκπέμπει μία πηγή έχει ρυθμό κωδικοποίησης (μέσο μήκος λέξης) L

Διαβάστε περισσότερα

Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o

Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o Μάθημα Εισαγωγή στις Τηλεπικοινωνίες Κωδικοποίηση πηγής- καναλιού Μάθημα 9o ΕΘΝΙΚΟ & ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τομέας Επικοινωνιών και Επεξεργασίας Σήματος Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Διαβάστε περισσότερα

DIP_06 Συμπίεση εικόνας - JPEG. ΤΕΙ Κρήτης

DIP_06 Συμπίεση εικόνας - JPEG. ΤΕΙ Κρήτης DIP_06 Συμπίεση εικόνας - JPEG ΤΕΙ Κρήτης Συμπίεση εικόνας Το μέγεθος μιας εικόνας είναι πολύ μεγάλο π.χ. Εικόνα μεγέθους Α4 δημιουργημένη από ένα σαρωτή με 300 pixels ανά ίντσα και με χρήση του RGB μοντέλου

Διαβάστε περισσότερα

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης Δοµές Δεδοµένων 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης Περίληψη Quicksort Χαρακτηριστικά επιδόσεων Μη αναδροµική υλοποίηση Δέντρα Μαθηµατικές ιδιότητες Δοµές Δεδοµένων 11-2

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 5 Ανάπτυξη Προγράμματος Συμπίεσης/Αποσυμπίεσης Αρχείων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 5 Ανάπτυξη Προγράμματος Συμπίεσης/Αποσυμπίεσης Αρχείων ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 035: Δομές Δεδομένων και Αλγόριθμοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών Χειμερινό Εξάμηνο 2012 ΑΣΚΗΣΗ 5 Ανάπτυξη Προγράμματος Συμπίεσης/Αποσυμπίεσης

Διαβάστε περισσότερα

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο Σχεδίαση Αλγορίθμων Άπληστοι Αλγόριθμοι http://delab.csd.auth.gr/~gounaris/courses/ad 1 Άπληστοι αλγόριθμοι Προβλήματα βελτιστοποίησης ηςλύνονται με μια σειρά επιλογών που είναι: εφικτές τοπικά βέλτιστες

Διαβάστε περισσότερα

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 (5.1-5.2 και 5.4-5.6) Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Δέντρα Βασικοί ορισµοί Μαθηµατικές ιδιότητες Διάσχιση δέντρων Preorder, postorder,

Διαβάστε περισσότερα

Συμπίεση Δεδομένων Δοκιμής (Test Data Compression) Νικολός Δημήτριος, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών & Πληροφορικής, Παν Πατρών

Συμπίεση Δεδομένων Δοκιμής (Test Data Compression) Νικολός Δημήτριος, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών & Πληροφορικής, Παν Πατρών Συμπίεση Δεδομένων Δοκιμής (Test Data Compression), Παν Πατρών Test resource partitioning techniques ΑΤΕ Automatic Test Equipment (ATE) based BIST based Έλεγχος παραγωγής γής βασισμένος σε ΑΤΕ Μεγάλος

Διαβάστε περισσότερα

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

Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κυκλικές Απλά Συνδεδεμένες Λίστες - Κυκλικές Διπλά Συνδεδεμένες

Διαβάστε περισσότερα

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #08 Συµπίεση Κειµένων Φοίβος Μυλωνάς fmylonas@ionio.gr Ανάκτηση Πληροφορίας 1 Άδεια χρήσης

Διαβάστε περισσότερα

Συμπίεση χωρίς Απώλειες

Συμπίεση χωρίς Απώλειες Συμπίεση χωρίς Απώλειες Στόχοι της συμπίεσης δεδομένων: Μείωση του απαιτούμενου χώρου αποθήκευσης των δεδομένων. Περιορισμός της απαιτούμενης χωρητικότητας διαύλου επικοινωνίας για την μετάδοση. μείωση

Διαβάστε περισσότερα

3. ΤΕΧΝΙΚΕΣ ΣΥΜΠΙΕΣΗΣ ΠΟΛΥΜΕΣΩΝ

3. ΤΕΧΝΙΚΕΣ ΣΥΜΠΙΕΣΗΣ ΠΟΛΥΜΕΣΩΝ 3. ΤΕΧΝΙΚΕΣ ΣΥΜΠΙΕΣΗΣ ΠΟΛΥΜΕΣΩΝ ΑΝΑΓΚΗ ΣΥΜΠΙΕΣΗΣ ΔΕΔΟΜΕΝΩΝ Local Multimedia Π.χ. Μία ταινία 90 min απαιτεί 120 GB, και τα σημερινά μέσα αποθήκευσης < 25 GB. Άρα σήμερα είναι αδύνατη η αποθήκευση και η

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗ ΑΣΚΗΣΗ 2 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗ ΑΣΚΗΣΗ 2 Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου Ημερομηνία Υποβολής: 05/03/2013 Ημερομηνία

Διαβάστε περισσότερα

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ Τετάρτη 5-12/11/2014 ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ ΕΚΠΑΙΔΕΥΤΗΣ: ΤΡΟΧΙΔΗΣ ΠΑΝΑΓΙΩΤΗΣ 1. Παράσταση και οργάνωση δεδομένων

Διαβάστε περισσότερα

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα στα οποία κάθε κόμβος μπορεί να αποθηκεύει ένα ή περισσότερα κλειδιά. Κόμβος με d διακλαδώσεις : k 1 k 2 k 3 k 4 d-1 διατεταγμένα κλειδιά d διατεταγμένα παιδιά

Διαβάστε περισσότερα

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

Διάλεξη 08: Λίστες ΙΙ Κυκλικές Λίστες ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 0: Λίστες ΙΙ Κυκλικές Λίστες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κυκλικές Απλά Συνδεδεμένες Λίστες - Κυκλικές Διπλά Συνδεδεμένες

Διαβάστε περισσότερα

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -

Διαβάστε περισσότερα

Δομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου

Δομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με

Διαβάστε περισσότερα

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 (α) Έστω Α(n) και Κ(n) ο αριθμός των ακμών και ο αριθμός των κόμβων ενός αυστηρά δυαδικού δένδρου με n φύλλα. Θέλουμε να αποδείξουμε για κάθε n 1 την πρόταση

Διαβάστε περισσότερα

Δομές Δεδομένων Ενότητα 4

Δομές Δεδομένων Ενότητα 4 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 4: Ουρές Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 9: Τα ΔΔΑ ως Αναδρομικές Δομές Δεδομένων-Εφαρμογή Δυαδικών Δέντρων: Κωδικοί Huffman. Καθηγήτρια Μαρία Σατρατζέμη

Δομές Δεδομένων. Ενότητα 9: Τα ΔΔΑ ως Αναδρομικές Δομές Δεδομένων-Εφαρμογή Δυαδικών Δέντρων: Κωδικοί Huffman. Καθηγήτρια Μαρία Σατρατζέμη Ενότητα 9: Τα ΔΔΑ ως Αναδρομικές Δομές Δεδομένων-Εφαρμογή Δυαδικών Δέντρων: Κωδικοί Huffman Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Δομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου

Δομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με

Διαβάστε περισσότερα

Συνδετικότητα γραφήματος (graph connectivity)

Συνδετικότητα γραφήματος (graph connectivity) Συνδετικότητα γραφήματος (graph connectivity) Συνδετικότητα γραφήματος (graph connectivity) Υπάρχει μονοπάτι μεταξύ α και β; α Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές ενός

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 3 Λειτουργίες σε Bits, Αριθμητικά Συστήματα Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Φύση υπολογιστών Η

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

Διαβάστε περισσότερα

Κεφάλαιο 6 Ουρές Προτεραιότητας

Κεφάλαιο 6 Ουρές Προτεραιότητας Κεφάλαιο 6 Ουρές Προτεραιότητας Περιεχόμενα 6.1 Ο αφηρημένος τύπος δεδομένων ουράς προτεραιότητας... 114 6.2 Ουρές προτεραιότητας με στοιχειώδεις δομές δεδομένων... 115 6.3 Δυαδικός σωρός... 116 6.3.1

Διαβάστε περισσότερα

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων Ενότητα 13: B-Δέντρα/AVL-Δέντρα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε

Διαβάστε περισσότερα

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε:

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι

Διαβάστε περισσότερα

Αρχές κωδικοποίησης. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 08-1

Αρχές κωδικοποίησης. Τεχνολογία Πολυμέσων και Πολυμεσικές Επικοινωνίες 08-1 Αρχές κωδικοποίησης Απαιτήσεις κωδικοποίησης Είδη κωδικοποίησης Κωδικοποίηση εντροπίας Διαφορική κωδικοποίηση Κωδικοποίηση μετασχηματισμών Στρωματοποιημένη κωδικοποίηση Κβαντοποίηση διανυσμάτων Τεχνολογία

Διαβάστε περισσότερα

Αναδρομικοί Αλγόριθμοι

Αναδρομικοί Αλγόριθμοι Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας ένα ή περισσότερα στιγμιότυπα του ίδιου προβλήματος. Αναδρομικός αλγόριθμος (recursive algorithm) Επιλύει ένα πρόβλημα λύνοντας

Διαβάστε περισσότερα

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

Διαβάστε περισσότερα

ΟιβασικέςπράξειςπουορίζουντονΑΤΔ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:

ΟιβασικέςπράξειςπουορίζουντονΑΤΔ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες: Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι

Διαβάστε περισσότερα

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Τι θα δούμε Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί Σωροί Ουρές Fibonacci Αναπαράσταση Πράξεις Ανάλυση Συγκρίσεις Ουρές προτεραιότητας

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα

Διδάσκων: Κωνσταντίνος Κώστα Διάλεξη Ε4: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Δυαδικά Δένδρα Αναζήτησης Ισοζυγισμένα Δένδρα & 2-3 Δένδρα Διδάσκων: Κωνσταντίνος

Διαβάστε περισσότερα

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

Διαβάστε περισσότερα

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 7 και 8: Αναπαραστάσεις. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 7 και 8: Αναπαραστάσεις. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 7 και 8: Αναπαραστάσεις Αναπαράσταση Πληροφορίας Η/Υ Αριθμητικά δεδομένα Σταθερής υποδιαστολής Κινητής υποδιαστολής Μη αριθμητικά δεδομένα Χαρακτήρες Ειδικοί κώδικες Εντολές Γλώσσα

Διαβάστε περισσότερα

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

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

Διαβάστε περισσότερα

Μάθημα 2: Παράσταση της Πληροφορίας

Μάθημα 2: Παράσταση της Πληροφορίας Μάθημα 2: Παράσταση της Πληροφορίας 2.1 Παράσταση δεδομένων Κάθε υπολογιστική μηχανή αποτελείται από ηλεκτρονικά κυκλώματα που η λειτουργία τους βασίζεται στην αρχή ανοιχτό-κλειστό. Η συμπεριφορά τους

Διαβάστε περισσότερα

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Διακριτή πηγή πληροφορίας χωρίς μνήμη Ποσότητα πληροφορίας της πηγής Κωδικοποίηση

Διαβάστε περισσότερα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 9 : Συμπίεση δεδομένων. Δρ. Γκόγκος Χρήστος

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 9 : Συμπίεση δεδομένων. Δρ. Γκόγκος Χρήστος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική Ι Ενότητα 9 : Συμπίεση δεδομένων Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής & Ελεγκτικής

Διαβάστε περισσότερα

Δυναμική Διατήρηση Γραμμικής Διάταξης

Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Εισαγωγή νέου στοιχείου y αμέσως μετά από το στοιχείο x. x y Διαγραφή στοιχείου y. y Έλεγχος της σειράς

Διαβάστε περισσότερα

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

Διαβάστε περισσότερα

Οι βασικές πράξεις που ορίζουν τον ΑΤ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:

Οι βασικές πράξεις που ορίζουν τον ΑΤ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες: υαδικά έντρα Αναζήτησης (Binary Search Trees) Ορισµός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόµενα στο αριστερό υποδέντρο του t είναι

Διαβάστε περισσότερα

Διάλεξη 08: ΛίστεςΙΙ Κυκλικές Λίστες. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 08: ΛίστεςΙΙ Κυκλικές Λίστες. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 0: ΛίστεςΙΙ Κυκλικές Λίστες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Κυκλικές Απλά Συνδεδεμένες Λίστες - Κυκλικές Διπλά Συνδεδεμένες Λίστες - Τεχνικές Μείωσης Χώρου Διδάσκων:

Διαβάστε περισσότερα

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ. Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων ΘΕΩΡΙΑ ΠΛΗΡΟΦΟΡΙΑΣ Κεφάλαιο 3 : Πηγές Πληροφορίας Χρήστος Ξενάκης Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων Περιεχόμενα Διακριτές Πηγές Πληροφορίας χωρίς μνήμη Ποσότητα πληροφορίας της πηγής Κωδικοποίηση

Διαβάστε περισσότερα

Εργαστήριο 5 Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ με αλφαβητική σειρά

Εργαστήριο 5 Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ με αλφαβητική σειρά EPL231: Δομές Δεδομένων και Αλγόριθμοι Εργαστήριο 5 Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ με αλφαβητική σειρά Αναδρομή Η αναδρομή εμφανίζεται όταν μία διεργασία καλεί τον εαυτό της Υπάρχουν

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 8: Αρχές κωδικοποίησης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 8: Αρχές κωδικοποίησης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 8: Αρχές κωδικοποίησης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

Διαβάστε περισσότερα

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή

Διαβάστε περισσότερα

ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ

ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Παπαγιαννόπουλος Δημήτριος 30 Μαρτίου 2017 18 Μαΐου 2017 papagianno@ceid.upatras.gr 1 Περιεχόμενα Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί

Διαβάστε περισσότερα

Οι λίστες, χάνοντας τα πλεονεκτήματα των πινάκων, λύνουν προβλήματα που παρουσιάζουν οι πίνακες

Οι λίστες, χάνοντας τα πλεονεκτήματα των πινάκων, λύνουν προβλήματα που παρουσιάζουν οι πίνακες Δομές δεδομένων Πίνακες Οι πίνακες είναι το πιο απλό «μέσο» αποθήκευσης ομοειδούς πληροφορίας. Χρησιμοποιούν ακριβώς όση μνήμη χρειάζεται για την αποθήκευση της πληροφορίας Επιτρέπουν την προσπέλαση άμεσα

Διαβάστε περισσότερα

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος

Διαβάστε περισσότερα

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

Κεφάλαιο 11 Ένωση Ξένων Συνόλων Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά

Διαβάστε περισσότερα

Περιεχόμενα. Περιεχόμενα

Περιεχόμενα. Περιεχόμενα Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...

Διαβάστε περισσότερα

Εργαστήριο 8: Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ

Εργαστήριο 8: Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ Εργαστήριο 8: Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ με αλφαβητική σειρά

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων 1 2.1 Τύποι Δεδομένων Τα δεδομένα σήμερα συναντώνται σε διάφορες μορφές, στις οποίες περιλαμβάνονται αριθμοί,

Διαβάστε περισσότερα

Στοιχειώδεις Δομές Δεδομένων

Στοιχειώδεις Δομές Δεδομένων Στοιχειώδεις Δομές Δεδομένων Τύποι δεδομένων στη Java Ακέραιοι (int, long) Αριθμοί κινητής υποδιαστολής (float, double) Χαρακτήρες (char) Δυαδικοί (boolean) Από τους παραπάνω μπορούμε να φτιάξουμε σύνθετους

Διαβάστε περισσότερα

Τεράστιες ανάγκες σε αποθηκευτικό χώρο

Τεράστιες ανάγκες σε αποθηκευτικό χώρο ΣΥΜΠΙΕΣΗ Τεράστιες ανάγκες σε αποθηκευτικό χώρο Παράδειγμα: CD-ROM έχει χωρητικότητα 650MB, χωρά 75 λεπτά ασυμπίεστου στερεοφωνικού ήχου, αλλά 30 sec ασυμπίεστου βίντεο. Μαγνητικοί δίσκοι χωρητικότητας

Διαβάστε περισσότερα

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί); Μοντελοποίηση του Υπολογισµού Στοιχεία Θεωρίας Υπολογισµού (): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ποιές οι θεµελιώδεις δυνατότητες

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 1 /

Διαβάστε περισσότερα

Σειρά Προβλημάτων 3 Λύσεις

Σειρά Προβλημάτων 3 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 3 Λύσεις Να δώσετε ασυμφραστικές γραμματικές που να παράγουν τις πιο κάτω γλώσσες: (α) { a m b n c p m,n,p 0 και είτε m + n = p είτε m = n + p } (β) { xx rev yy rev x, y {a,b}

Διαβάστε περισσότερα

Κωδικοποίηση Πηγής. Δρ. Α. Πολίτης

Κωδικοποίηση Πηγής. Δρ. Α. Πολίτης Κωδικοποίηση Πηγής Coder Decoder Μεταξύ πομπού και καναλιού παρεμβάλλεται ο κωδικοποιητής (coder). Έργο του: η αντικατάσταση των συμβόλων πληροφορίας της πηγής με εναλλακτικά σύμβολα ή λέξεις. Κωδικοποίηση

Διαβάστε περισσότερα

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Διαβάστε περισσότερα

Κωδικοποίηση Πηγής. Η λειτουργία ενός συστήματος επικοινωνίας (γενικό διάγραμμα):

Κωδικοποίηση Πηγής. Η λειτουργία ενός συστήματος επικοινωνίας (γενικό διάγραμμα): Κωδικοποίηση Πηγής Η λειτουργία ενός συστήματος επικοινωνίας (γενικό διάγραμμα): Coder Decoder Μεταξύ πομπού-καναλιού παρεμβάλλεται ο κωδικοποιητής (coder). Έργο του: η αντικατάσταση των συμβόλων πληροφορίας

Διαβάστε περισσότερα

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

Διαβάστε περισσότερα

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( ) Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική

Διαβάστε περισσότερα

DOMES DEDOMENWN KAI ANALUSH ALGORIJMWN. ParousÐash 8: Huffman Encoding

DOMES DEDOMENWN KAI ANALUSH ALGORIJMWN. ParousÐash 8: Huffman Encoding DOMES DEDOMENWN KAI ANALUSH ALGORIJMWN Fjinìpwro 2006 Didˆskwn: I. M lhc ParousÐash 8: Huffman Encoding Euˆggeloc DoÔroc 8.1 SumpÐesh Keimènou (Text Compression) Στον τομέα των υπολογιστών, παρά τη συνεχή

Διαβάστε περισσότερα

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

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, ορισμοί, πράξεις και αναπαράσταση στη μνήμη ΔυαδικάΔένδρακαιΔυαδικάΔένδραΑναζήτησης ΕΠΛ 231 Δομές

Διαβάστε περισσότερα

Εργασία 3 Σκελετοί Λύσεων

Εργασία 3 Σκελετοί Λύσεων Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 Χρησιμοποιούμε τη δομή typedef struct TNode{ int key; struct TNode *left; struct TNode *right; tnode; και υποθέτουμε πως ένα δυαδικό δένδρο είναι υλοποιημένο ως δείκτης

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

Διαβάστε περισσότερα

Συγκρίσιμα Αντικείμενα (comparable)

Συγκρίσιμα Αντικείμενα (comparable) Συγκρίσιμα Αντικείμενα (comparable) public class Student implements Comparable{ public String lastname; public String firstname; public int am; public int compareto(object s) throws ClassCastException{

Διαβάστε περισσότερα