Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Θεωρία => Μήνυμα ξεκίνησε από: epsilonXi στις 01 Απρ 2022, 10:57:53 ΠΜ

Τίτλος: συντομες επαναληπτικές σημειώσεις
Αποστολή από: epsilonXi στις 01 Απρ 2022, 10:57:53 ΠΜ
προτείνετε παρατηρήσεις, όσο προλαβαίνουμε!
θεωρία-q-a-τοταλ.pdf
Τίτλος: συντομες επαναληπτικές σημειώσεις
Αποστολή από: SPY στις 11 Απρ 2022, 12:48:08 ΠΜ
Καλησπέρα Ευτύχη,

Με μια γρήγορη ματιά μου φαίνεται αρκετά καλό. Είναι και αρκετά μαζεμένο και αυτό βοηθάει.

Μια παρατήρηση: Το δυαδικό δένδρο στη σέλ. 50 ορίζεται ως διατεταγμένο.
Τίτλος: Απ: συντομες επαναληπτικές σημειώσεις
Αποστολή από: epsilonXi στις 11 Απρ 2022, 12:37:37 ΜΜ
το δυαδικό δέντρο αναζήτησης
όχι το δυαδικό γενικά...
Τίτλος: Απ: συντομες επαναληπτικές σημειώσεις
Αποστολή από: akouts στις 12 Απρ 2022, 08:10:17 ΠΜ
Παράθεση από: epsilonXi στις 11 Απρ 2022, 12:37:37 ΜΜτο δυαδικό δέντρο αναζήτησης
όχι το δυαδικό γενικά...
Το δυαδικό γενικά!
σελίδα 50:
Ένα δυαδικό δένδρο (binary tree) είναι ένα διατεταγμένο δένδρο, στο οποίο κάθε κόμβος έχει το πολύ δύο παιδιά, το αριστερό και το δεξί παιδί
Τίτλος: Απ: συντομες επαναληπτικές σημειώσεις
Αποστολή από: epsilonXi στις 12 Απρ 2022, 10:06:44 ΠΜ
πάλι αδιάβαστος πιάστηκα
Τίτλος: Απ: συντομες επαναληπτικές σημειώσεις
Αποστολή από: Κανένας στις 12 Απρ 2022, 04:58:40 ΜΜ
Παράθεση από: akouts στις 12 Απρ 2022, 08:10:17 ΠΜΤο δυαδικό γενικά!
σελίδα 50:
Ένα δυαδικό δένδρο (binary tree) είναι ένα διατεταγμένο δένδρο, στο οποίο κάθε κόμβος έχει το πολύ δύο παιδιά, το αριστερό και το δεξί παιδί
Επειδή το βιβλίο δεν είναι και Ευαγγέλιο και επειδή ειδικά στη βιβλιογραφία περί Δένδρων
έχουμε διαφοροποιήσεις στους ορισμούς και επειδή στο Δυαδικό δένδρο δεν έχουμε
κάποια συγκεκριμένη διάταξη για τα παιδιά κάθε κόμβου ίσως διατεταγμένο Δένδρο
είναι το Δυαδικό Δένδρο αναζήτησης.
Τίτλος: Απ: συντομες επαναληπτικές σημειώσεις
Αποστολή από: akouts στις 12 Απρ 2022, 06:05:31 ΜΜ
Σελ. 46:  Σε αυτή την περίπτωση, που για κάθε κόμβο υπάρχει μία γραμμική σχέση μεταξύ των παιδιών του κόμβου αυτού, αναφερόμαστε σε ένα διατεταγμένο δένδρο.

Σελ. 50:  Ένα δυαδικό δένδρο (binary tree) είναι ένα διατεταγμένο δένδρο, στο οποίο κάθε κόμβος έχει το πολύ δύο παιδιά, το αριστερό και το δεξί παιδί.

Σελ. 50:  Ένα δυαδικό δένδρο αναζήτησης (binary search tree) είναι ένα δυαδικό δένδρο, όπου για κάθε κόμβο u, όλοι οι κόμβοι του αριστερού υποδένδρου έχουν τιμές μικρότερες της τιμής του κόμβου u και όλοι οι κόμβοι του δεξιού υποδένδρου έχουν τιμές μεγαλύτερες (ή ίσες) της τιμής του κόμβου u.
Τίτλος: Απ: συντομες επαναληπτικές σημειώσεις
Αποστολή από: pgrontas στις 12 Απρ 2022, 07:14:00 ΜΜ
Το ερώτημα είναι, άσχετα από το βιβλίο, στη βιβλιογραφία ισχύει ότι κάθε δυαδικό δένδρο είναι διατεταγμένο;
Από ό,τι θυμάμαι δεν είναι αναγκαίο να ισχύει αλλά δεν είμαι και σίγουρος.
Κάποιες πηγές;
Τίτλος: Απ: συντομες επαναληπτικές σημειώσεις
Αποστολή από: Κανένας στις 12 Απρ 2022, 08:06:02 ΜΜ
Διατεταγμένο δέντρο είναι αυτό που τα παιδιά κάθε κόμβου του συνδέονται με κάποια σχέση διάταξης. Δηλαδή η θέση τους από αριστερά προς τα δεξιά δηλώνει και ακολουθεί ένα κανόνα.
Τώρα τα Δυαδικά δέντρα επειδή περιορίζουν τα παιδιά κάθε κόμβου σε 2 το πολύ, είναι σύνηθες να χρησιμοποιούνται
ως διατεταγμένα (βλέπε δυαδικά δέντρα αναζήτησης, το παράδειγμα του βιβλίου που θεωρεί το αριστερό παιδί μεγαλύτερο σε ηλικία απ' το δεξί κ.λ.π).
Αυτός είναι μάλλον ο λόγος που στη βιβλιογραφία κάποιοι συγγραφείς θεωρούν ένα δυαδικό δέντρο εξ' ορισμού διατεταγμένο.
Τίτλος: Απ: συντομες επαναληπτικές σημειώσεις
Αποστολή από: evry στις 14 Απρ 2022, 03:28:57 ΜΜ
Ο ορισμός του απλού binary tree είναι 
a tree data structure in which each node has at most two children, which are referred to as the left child and the right child
Πηγή: https://en.wikipedia.org/wiki/Binary_tree (https://en.wikipedia.org/wiki/Binary_tree)
Δηλαδή υπάρχει διάκριση μεταξύ αριστερού και δεξιού παιδιού, αυτό εννοεί.

Δεν μιλάει για διάταξη=ταξινόμηση αλλά λέει ότι ένα δέντρο με τους αριθμούς 5 ως ρίζα και 12 ως αριστερό παιδί και 16 ως δεξί δεν είναι το ίδιο αν αντιστρέψουμε τα παιδιά, δηλαδή να γίνει το 12 δεξί και το 16 αριστερό. Αυτό εννοεί με την λέξη διατεταγμένο, ότι υπάρχει μια διάταξη όπως και ένας πίνακας είναι μια διατεταγμένη ακολουθία και όχι ένα σύνολο. Η σχέση διάταξης δεν σημαίνει απαραίτητα ότι υπακούει σε κανόνες ταξινόμησης. π.χ. μπορώ να ορίσω μια σχέση διάταξης όπου το 3 είναι πριν το 7  και μετά το 12, φυσικά θα πρέπει να έχει κάποιες ιδιότητες (reflective, transitive κλπ), αλλά αυτό είναι άλλο θέμα. Δεν εννοεί δηλαδή σχέση διάταξης με την αυστηρή έννοια που έχουμε στο μυαλό μας αλλά κάτι πιο χαλαρό.
To binary search tree ορίζεται ως: 

binary search tree (BST), also called an ordered or sorted binary tree, is a rooted binary tree data structure whose internal nodes each store a key greater than all the keys in the node's left subtree and less than those in its right subtree.  
Πηγή:  https://en.wikipedia.org/wiki/Binary_search_tree (https://en.wikipedia.org/wiki/Binary_search_tree)


Τίτλος: Απ: συντομες επαναληπτικές σημειώσεις
Αποστολή από: Κανένας στις 14 Απρ 2022, 05:13:41 ΜΜ
Παράθεση από: evry στις 14 Απρ 2022, 03:28:57 ΜΜΟ ορισμός του απλού binary tree είναι
a tree data structure in which each node has at most two children, which are referred to as the left child and the right child
Πηγή: https://en.wikipedia.org/wiki/Binary_tree (https://en.wikipedia.org/wiki/Binary_tree)
Δηλαδή υπάρχει διάκριση μεταξύ αριστερού και δεξιού παιδιού, αυτό εννοεί.

Δεν μιλάει για διάταξη=ταξινόμηση αλλά λέει ότι ένα δέντρο με τους αριθμούς 5 ως ρίζα και 12 ως αριστερό παιδί και 16 ως δεξί δεν είναι το ίδιο αν αντιστρέψουμε τα παιδιά, δηλαδή να γίνει το 12 δεξί και το 16 αριστερό. Αυτό εννοεί με την λέξη διατεταγμένο, ότι υπάρχει μια διάταξη όπως και ένας πίνακας είναι μια διατεταγμένη ακολουθία και όχι ένα σύνολο. Η σχέση διάταξης δεν σημαίνει απαραίτητα ότι υπακούει σε κανόνες ταξινόμησης. π.χ. μπορώ να ορίσω μια σχέση διάταξης όπου το 3 είναι πριν το 7  και μετά το 12, φυσικά θα πρέπει να έχει κάποιες ιδιότητες (reflective, transitive κλπ), αλλά αυτό είναι άλλο θέμα. Δεν εννοεί δηλαδή σχέση διάταξης με την αυστηρή έννοια που έχουμε στο μυαλό μας αλλά κάτι πιο χαλαρό.
To binary search tree ορίζεται ως:

binary search tree (BST), also called an ordered or sorted binary tree, is a rooted binary tree data structure whose internal nodes each store a key greater than all the keys in the node's left subtree and less than those in its right subtree. 
Πηγή:  https://en.wikipedia.org/wiki/Binary_search_tree (https://en.wikipedia.org/wiki/Binary_search_tree)



Όμως έτσι όλα τα δένδρα δεν θα έπρεπε να είναι διατεταγμένα; (π.χ. τριαδικό: αριστερό παιδί-μεσαίο-δεξί κ.ο.κ).
Ή πάλι γιατί να μην μπορώ να δημιουργήσω μια δυαδική δενδρική δομή όπου αν αλλάζω αμοιβαία το αριστερό με το
δεξί υποδένδρο οποιουδήποτε κόμβου να προκύπτει ισοδύναμο δένδρο;
Αυτό δεν εξαρτάται μόνο από αυτό που θέλω να αναπαραστήσω; (Να μην παίζει ρόλο αν το τυχόν δεδομένο είναι δεξί ή αριστερό παιδί κάθε κόμβου)
Δηλαδή θέλω να πω ότι ένα δυαδικό δένδρο μπορεί να είναι διατεταγμένο, μπορεί και όχι ανάλογα με αυτό που αναπαριστά.
Και στη βιβλιογραφία δεν αναφέρεται ως διατεταγμένο σ' όλους τους ορισμούς των δυαδικών δένδρων.
Τελικά;



Τίτλος: Απ: συντομες επαναληπτικές σημειώσεις
Αποστολή από: evry στις 14 Απρ 2022, 05:50:41 ΜΜ
Την ιδιότητα αυτή να μην παίζει ρόλο η διάταξη μεταξύ των παιδιών την έχω δει μόνο στον σωρό (heap). Αυτό είναι ότι πιο κοντινο σε αυτό που λες, όμως στον σωρό υπάρχει διάταξη μεταξύ του πατέρα και των παιδιών.
Ο ορισμός που ισχύει είναι ότι όταν λέμε δυαδικό δέντρο είναι default διατεταγμένο, δηλαδή υπάρχει διάκριση αριστερού/δεξιού παιδιού. Για αυτό υπάρχει στην βιβλιογραφία το unordered binary tree που είναι αυτό ακριβώς που λες.
Δες εδώ:
Generation of Unordered Binary Trees (https://link.springer.com/chapter/10.1007/978-3-540-24767-8_68)

Απλά κάποιοι όταν μιλάνε για ordered εννοούν ταξινομημένο και όχι διάκριση left/right και εκεί υπάρχει η σύγχυση
Τίτλος: Απ: συντομες επαναληπτικές σημειώσεις
Αποστολή από: dkonetas στις 15 Μαΐου 2022, 11:35:56 ΠΜ
Παράθεση από: evry στις 14 Απρ 2022, 05:50:41 ΜΜΟ ορισμός που ισχύει είναι ότι όταν λέμε δυαδικό δέντρο είναι default διατεταγμένο, δηλαδή υπάρχει διάκριση αριστερού/δεξιού παιδιού. Για αυτό υπάρχει στην βιβλιογραφία το unordered binary tree που είναι αυτό ακριβώς που λες.
Απλά κάποιοι όταν μιλάνε για ordered εννοούν ταξινομημένο και όχι διάκριση left/right και εκεί υπάρχει η σύγχυση
Ακριβώς αλλιώς πχ δεν θα υπήρχε preorder, inorder, postorder διάσχιση των δυαδικών δένδρων
Τίτλος: Απ: συντομες επαναληπτικές σημειώσεις
Αποστολή από: dpa2006 στις 15 Μαΐου 2022, 01:32:47 ΜΜ
https://en.wikipedia.org/wiki/Binary_tree

Types of binary trees[edit]
Tree terminology is not well-standardized and so varies in the literature.
(https://upload.wikimedia.org/wikipedia/commons/thumb/b/b0/Full_binary.svg/220px-Full_binary.svg.png)


A full binary tree

(https://upload.wikimedia.org/wikipedia/commons/thumb/2/26/Waldburg_Ahnentafel.jpg/220px-Waldburg_Ahnentafel.jpg)


An ancestry chart which can be mapped to a perfect 4-level binary tree.

(https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Complete_binary2.svg/220px-Complete_binary2.svg.png)


A complete binary tree (that is not full)


Discrete Mathematics:Proofs, Structures and Applications, Third Edition (https://www.amazon.com/Discrete-Mathematics-Proofs-Structures-Applications/dp/1439812802), Third Edition. CRC Press. p. 620. ISBN 978-1-4398-1280-8.