Professional Documents
Culture Documents
1 DataStructures
1 DataStructures
Δεδομένων
Σωροί, Ουρές, & Λίστες
Αποσβένουσα Ανάλυση
Δέντρα
Οι διαφάνειες είναι βασισμένες στο βιβλίο "Data Structures and Algorithms in C++" των Michael T. Goodrich, Roberto Tamassia και David M. Mount
Ο ADT Σωρός (§4.2.1)
O ADT Σωρός αποθηκεύει
αυθαίρετα αντικείμενα
Βοηθητικές λειτουργίες
Οι εισαγωγές και
του σωρού:
διαγραφές ακολουθούν το top(): επιστρέφει το
last-in first-out μοντέλο τελευταία εισαγμένο
στοιχείο χωρίς να το
Βασικές λειτουργίες του αφαιρεί
σωρού: size(): επιστρέφει τον
push(Object o): εισάγει το αριθμό τον
στοιχείο o αποθηκευμένων
στοιχείων
pop(): αφαιρεί και
επιστρέφει το τελευταία
isEmpty(): Boolean τιμή
που δείχνει αν υπάρχουν
εισαγμένο στοιχείο
αποθηκευμένα στοιχεία
Στοιχειώδεις Δομές Δεδομένων 2
Εφαρμογές των Σωρών
Άμεσες εφαρμογές
Ιστορικό σελίδων σε Web browser
Ακολουθία undo σε επεξεργαστή κειμένου
Έμμεσες εφαρμογές
Βοηθητική δομή δεδομένων για
αλγόριθμους
Συστατικό άλλων δομών δεδομένων
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
A B C D
f
στοιχεία
Στοιχειώδεις Δομές Δεδομένων 14
List ADT (§5.2.2)
στοιχεία
Στοιχειώδεις Δομές Δεδομένων 16
Δέντρα (§6.1)
Ένα δέντρο είναι ένα
αφηρημένο μοντέλο μιας Computers”R”Us
ιεραρχικής δομής
Ένα δέντρο αποτελείται
από κόμβους με μια Sales Manufacturing R&D
σχέση parent-child
Εφαρμογές:
US International Laptops Desktops
Διαγράμματα
οργάνωσης
Συστήματα αρχείων
Europe Asia Canada
Προγραμματιστικά
περιβάλλοντα
2 5 9
1. Motivations 2. Methods References
6 7 8
3 4
2.1 Stock 2.2 Ponzi 2.3 Bank
1.1 Greed 1.2 Avidity
Fraud Scheme Robbery
8
3 7
todo.txt
homeworks/ programs/
1K
1 2 4 5 6
h1c.doc h1nc.doc DDR.java Stocks.java Robot.java
3K 2K 10K 25K 20K
2 3 b
a 1
e αριθμός εξωτερικών n 2e 1
κόμβων
h i
i αριθμός
εσωτερικών κόμβων h (n 1)2
h ύψος e 2h
h log e
2
h log2 (n 1) 1
2 8
1 4 7 9
3 5
L R
B
2 3 2
5 1
2 3 b
((2 (a 1)) (3 b))
a 1
Στοιχειώδεις Δομές Δεδομένων 28
Διασυνδεδεμένη Δομή Δεδομένων για
Αναπαράσταση Δέντρων (§6.4.3)
Ένας κόμβος αναπαρίσταται
από ένα αντικείμενο που
περιέχει
Element
Parent node B
Sequence of children nodes
Οι κόμβοι υλοποιούν το
Position ADT
A D F
B
A D F
C E
C E
Στοιχειώδεις Δομές Δεδομένων 29
Διασυνδεδεμένη Δομή Δεδομένων για
Δυαδικά Δέντρα (§6.4.2)
Ένας κόμβος
αναπαρίσταται από ένα
αντικείμενο που περιέχει
Element
Parent node
Left child node B
Right child node
Οι κόμβοι υλοποιούν το
Position ADT
B A D
A D
C E C E
1
A
…
2 3
B D