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

Save this PDF as:
 WORD  PNG  TXT  JPG

Μέγεθος: 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 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή

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

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

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

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

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

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

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

Ουρά Προτεραιότητας (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) Εκδόσεις Κλειδάριθμος Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Περιεχόμενα. Περιεχόμενα Περιεχόμενα 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 Εκφράσεις...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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) Στον τομέα των υπολογιστών, παρά τη συνεχή

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

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

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)

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

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

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

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

Δοµές Δεδοµένων. 14η Διάλεξη Δέντρα Δυαδικής Αναζήτησης. Ε. Μαρκάκης

Δοµές Δεδοµένων. 14η Διάλεξη Δέντρα Δυαδικής Αναζήτησης. Ε. Μαρκάκης Δοµές Δεδοµένων 14η Διάλεξη Δέντρα Δυαδικής Αναζήτησης Ε. Μαρκάκης Περίληψη Δέντρα Δυαδικής Αναζήτησης Υλοποιήσεις εισαγωγής και αναζήτησης Χαρακτηριστικά επιδόσεων ΔΔΑ Εισαγωγή στη ρίζα ΔΔΑ Υλοποιήσεις

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

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

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

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

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

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

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

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

ΑΝΑΠΑΡΑΣΤΑΣΗ ΚΕΙΜΕΝΟΥ ΚΕΙΜΕΝΟ Ο πρώτος τρόπος απεικόνισης πληροφορίας (και βασικός ως σήμερα). Αδυναμία πρώτων υπολογιστών να χειριστούν άλλη μορφή πληροφορίας. Πρόβλημα με καθιερωμένα πρότυπα (π.χ. ASCII), π.χ. σε πολυγλωσσικές

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

Λίστες παράλειψης (skip lists)

Λίστες παράλειψης (skip lists) Χρησιμοποιεί πρόσθετους συνδέσμους στους κόμβους μιας συνδεδεμένης λίστας επιτάχυνση της αναζήτησης με παράλειψη μεγάλων τμημάτων της λίστας Μια λίστα παράλειψης είναι μια διατεταγμένη συνδεδεμένη λίστα

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

AVL-trees C++ implementation

AVL-trees C++ implementation Τ Μ Η Μ Α Μ Η Χ Α Ν Ι Κ Ω Ν Η / Υ Κ Α Ι Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ AVL-trees C++ implementation Δομές Δεδομένων Μάριος Κενδέα 31 Μαρτίου 2015 kendea@ceid.upatras.gr Εισαγωγή (1/3) Δυαδικά Δένδρα Αναζήτησης:

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

Παραδείγματα σχεδίασης με μηχανές πεπερασμένων καταστάσεων

Παραδείγματα σχεδίασης με μηχανές πεπερασμένων καταστάσεων Παραδείγματα σχεδίασης με μηχανές πεπερασμένων καταστάσεων Γιώργος Δημητρακόπουλος 1 Αποκωδικοποιητής κώδικα Huffman συμπίεση δεδομένων Ξέρουμε ότι με n bits μπορούμε να κωδικοποιήσουμε 2 n διαφορετικά

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 3 Δέντρα

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

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

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

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

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

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

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 14: Δέντρα IV B Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2 3 Δένδρα, Εισαγωγή και άλλες πράξεις Άλλα Δέντρα: Β δένδρα, Β+ δέντρα, R δέντρα Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

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

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 15: Αναδρομή (Recursion) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η έννοια της αναδρομής Μη αναδρομικός / Αναδρομικός Ορισμός Συναρτήσεων Παραδείγματα Ανάδρομης Αφαίρεση της Αναδρομής

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

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

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

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

Εισαγωγή στην Πληροφορική ΓΕΝΙΚΟ ΤΜΗΜΑ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ TEI ΧΑΛΚΙ ΑΣ

Εισαγωγή στην Πληροφορική ΓΕΝΙΚΟ ΤΜΗΜΑ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ TEI ΧΑΛΚΙ ΑΣ Εισαγωγή στην Πληροφορική 1 Περιεχόµενα - Κωδικοποιήσεις - Αριθµητικά Συστήµατα 2 Ηλεκτρονικός Υπολογιστής Είπαµε ότι είναι, µία Ηλεκτρονική Μηχανή, που δουλεύει κάτω από τον έλεγχο εντολών αποθηκευµένων

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

Πληρότητα της μεθόδου επίλυσης

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

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

Θέμα: «ΣΥΜΠΙΕΣΗ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΟΛΥΜΕΣΑ» Εισηγητής: Παναγιώτης Γιώτης 20 Μαϊου 2007 Αθήνα

Θέμα: «ΣΥΜΠΙΕΣΗ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΟΛΥΜΕΣΑ» Εισηγητής: Παναγιώτης Γιώτης 20 Μαϊου 2007 Αθήνα Θέμα: «ΣΥΜΠΙΕΣΗ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΟΛΥΜΕΣΑ» Εισηγητής: Παναγιώτης Γιώτης 20 Μαϊου 2007 Αθήνα Βασικοί άξονες της παρουσίασης ΜΕΡΟΣ Ι: Τι είναι η συμπίεση και γιατί είναι απαραίτητη ΜΕΡΟΣ ΙΙ: Τεχνικές Συμπίεσης

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

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο : 2. Α/Α Διάλεξης : 1 1. Τίτλος : Εισαγωγή στην Ψηφιακή Τεχνολογία 2. Μαθησιακοί Στόχοι : Λογικές Πύλες και η υλοποίησή τους με τρανζίστορ. Κατασκευή ολοκληρωμένων κυκλωμάτων. 3. Θέματα που καλύπτει : Λογικές

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μη Ασυμφραστικές Γλώσσες (2.3) Λήμμα Άντλησης για Ασυμφραστικές Γλώσσες Παραδείγματα

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

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Περίληψη Επίλυση προβληµάτων χρησιµοποιώντας Greedy Αλγόριθµους Ελάχιστα Δέντρα Επικάλυψης Αλγόριθµος του Prim Αλγόριθµος του Kruskal Πρόβληµα Ελάχιστης Απόστασης

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

Επεξεργασία Χαρτογραφικής Εικόνας

Επεξεργασία Χαρτογραφικής Εικόνας Επεξεργασία Χαρτογραφικής Εικόνας ιδάσκων: Αναγνωστόπουλος Χρήστος Αρχές συµπίεσης δεδοµένων Ήδη συµπίεσης Συµπίεση εικόνων Αλγόριθµος JPEG Γιατί χρειαζόµαστε συµπίεση; Τα σηµερινά αποθηκευτικά µέσα αδυνατούν

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

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

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μαθήματα 6 και 7 Αναπαράσταση της Πληροφορίας στον Υπολογιστή. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μαθήματα 6 και 7 Αναπαράσταση της Πληροφορίας στον Υπολογιστή. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μαθήματα 6 και 7 Αναπαράσταση της Πληροφορίας στον Υπολογιστή 1 1. Αριθμοί: Το Δυαδικό Σύστημα Οι ηλεκτρονικοί υπολογιστές

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

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

Κατ οίκον Εργασία 2 Σκελετοί Λύσεων ΕΠΛ 3 Δομές Δεδομένων και Αλγόριθμοι Νοέμβριος 00 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Έστω ο αριθμός φύλλων που βρίσκονται στο επίπεδο ενός δυαδικού δένδρου. Θέλουμε να αποδείξουμε την πρόταση: Η

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

Ν!=1*2*3* *(N-1) * N => N! = (Ν-1)! * N έτσι 55! = 54! * 55

Ν!=1*2*3* *(N-1) * N => N! = (Ν-1)! * N έτσι 55! = 54! * 55 ΑΝΑ ΡΟΜΗ- ΑΣΚΗΣΕΙΣ Μια µέθοδος είναι αναδροµική όταν καλεί τον εαυτό της και έχει µια συνθήκη τερµατισµού π.χ. το παραγοντικό ενός αριθµού Ν, µπορεί να καλεί το παραγοντικό του αριθµού Ν-1 το παραγοντικό

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

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Πληροφορική Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής Άδειες Χρήσης

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 Τμήμα θεωρίας: Α.Μ. 8, 9 Κάθε Πέμπτη, 11πμ-2μμ, ΑΜΦ23. Διδάσκων: Ντίνος Φερεντίνος Γραφείο 118 email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ακαδημαϊκό Έτος 2010-2011 Επιμέλεια Ξενοφών Βασιλάκος Περιεχόμενα Φροντιστηρίου 1. Κωδικοποίηση και Δυαδική Αναπαράσταση 2. Κωδικοποίηση ASCII Κωδικοποίηση Unicode Εισαγωγή

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

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (2/2) 1.1 Τα bits και ο τρόπος που αποθηκεύονται 1.2 Κύρια µνήµη 1.3 Αποθηκευτικά µέσα 1.4 Αναπαράσταση πληροφοριών ως σχηµάτων bits

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

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 3 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα

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

Δομές Δεδομένων. Ενότητα 10: Πλήρη Δυαδικά Δέντρα, Μέγιστα/Ελάχιστα Δέντρα & Εισαγωγή στο Σωρό- Ο ΑΤΔ Μέγιστος Σωρός. Καθηγήτρια Μαρία Σατρατζέμη

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

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

Προγραμματισμός Υπολογιστών

Προγραμματισμός Υπολογιστών Προγραμματισμός Υπολογιστών Αναπαράσταση Πληροφορίας Κ. Βασιλάκης, ΣΤΕΦ, ΤΕΙ Κρήτης Δεδομένα και πληροφορία Δεδομένα είναι ένα σύνολο διακριτών στοιχείων σχετικά με ένα συμβάν ή μια διαδικασία χωρίς κάποια

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

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

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

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

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

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

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

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

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

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

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

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί Αριθμήσιμα σύνολα Μαθηματικά Πληροφορικής 5ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Ορισμός Πόσα στοιχεία έχει το σύνολο {a, b, r, q, x}; Οσα και το σύνολο {,,, 4, 5} που είναι

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

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

Βασικές Έννοιες Δοµών Δεδοµένων Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες

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

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εισαγωγή, εύρεση, διαγραφή) Ευθύγραμμες Διπλά Συνδεδεμένες Λίστες

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

Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013

Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013 Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013 Λυμένες Ασκήσεις Σετ Α: Ανάλυση Αλγορίθμων Άσκηση 1 Πραγματοποιήσαμε μια σειρά μετρήσεων του

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 131: ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I ΕΡΓΑΣΙΑ 2 ΕΡΓΑΣΙΑ Διδάσκων: Γιώργος Χρυσάνθου Υπεύθυνος Άσκησης: Πύρρος Μπράτσκας Ημερομηνία Ανάθεσης: 3/10/015 Ημερομηνία Παράδοσης: 09/11/015 09:00 π.μ. I.Στόχος Στόχος αυτής της εργασίας είναι η χρησιμοποίηση

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

οµές εδοµένων 3 ο Εξάµηνο ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ

οµές εδοµένων 3 ο Εξάµηνο ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ 1 ένδρα εσωτερικός κόµβος u το δένδρο έχει ύψος 4 u έχει ύψος 3 w έχει βάθος 2 κόµβος ένδρο: γράφηµα χωρίς κύκλους o Ρίζα (root) o Κόµβος (node) o Ακµή (edge) o Γονέας (parent) Παιδί (child)

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 16 Δένδρα (Trees) 1 / 42 Δένδρα (Trees) Ένα δένδρο είναι ένα συνδεδεμένο γράφημα χωρίς κύκλους Για κάθε

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

Αναπαράσταση Δεδομένων

Αναπαράσταση Δεδομένων Αναπαράσταση Δεδομένων Περιεχόμενα Ανακεφαλαίωση Αναπαράσταση Δεδομένων Εσωτερικό Υπολογιστή Αναπαράσταση Κειμένου Αναπαράσταση Εικόνας Αναπαράσταση Ήχου Δεδομένα στο Εσωτερικό του Η/Υ Αναπαράσταση Δεδομένων

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

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e Άσκηση 1 Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e Υπάρχουν τρία μαύρα τετραγωνάκια (b), τρία άσπρα (w) και ένα κενό (e). Η σπαζοκεφαλιά έχει τις ακόλουθες

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή ισχύει ότι S i S j =, για κάθε i,j µε i j και S 1 S k = U. Λειτουργίες q MakeSet(X): επιστρέφει

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

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

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα

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

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή

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

Συμπίεση Πολυμεσικών Δεδομένων

Συμπίεση Πολυμεσικών Δεδομένων Συμπίεση Πολυμεσικών Δεδομένων Εισαγωγή στο πρόβλημα και επιλεγμένες εφαρμογές Παράδειγμα 2: Συμπίεση Εικόνας ΔΠΜΣ ΜΥΑ, Ιούνιος 2011 Εισαγωγή (1) Οι τεχνικές συμπίεσης βασίζονται στην απόρριψη της πλεονάζουσας

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

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ 6 ος ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Θέμα 1 ο : Άθροισμα ζευγών ΘΕΜΑΤΑ ΤΕΛΙΚΗΣ ΦΑΣΗΣ [30 Μονάδες] Δίνεται μία ακολουθία Ν ακέραιων αριθμών. Θέλουμε να μπορούμε να απαντάμε στο ερώτημα «υπάρχει ζεύγος

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