Binary search tree: Difference between revisions
Jump to navigation
Jump to search
(→Remark) |
No edit summary |
||
Line 21: | Line 21: | ||
# There is a tree item type with three components: | # There is a tree item type with three components: | ||
## '''''key''''' is of generic type <math>\ | ## '''''key''''' is of generic type <math>\mathcal{K}</math> | ||
## '''''left''''' and '''''right''''' of type "pointer to tree item of type <math>\ | ## '''''left''''' and '''''right''''' of type "pointer to tree item of type <math>\mathcal{K}</math>" | ||
# An object of the binary search tree type contains a pointer '''''root''''' of type "pointer to tree item of type <math>\ | # An object of the binary search tree type contains a pointer '''''root''''' of type "pointer to tree item of type <math>\mathcal{K}</math>" | ||
# The pointer '''''root''''' points to a well-formed binary search tree. In accordance with the definition of [[Directed Tree|directed trees]], "well-formed" means that, for any node, there is exactly one [[Basic graph definitions#Paths|path]] from the root to that node. | # The pointer '''''root''''' points to a well-formed binary search tree. In accordance with the definition of [[Directed Tree|directed trees]], "well-formed" means that, for any node, there is exactly one [[Basic graph definitions#Paths|path]] from the root to that node. | ||
Revision as of 09:26, 17 May 2015
General Information
Abstract data structure: Sorted sequence
Implementation invariant:
- There is a tree item type with three components:
- key is of generic type [math]\displaystyle{ \mathcal{K} }[/math]
- left and right of type "pointer to tree item of type [math]\displaystyle{ \mathcal{K} }[/math]"
- An object of the binary search tree type contains a pointer root of type "pointer to tree item of type [math]\displaystyle{ \mathcal{K} }[/math]"
- The pointer root points to a well-formed binary search tree. In accordance with the definition of directed trees, "well-formed" means that, for any node, there is exactly one path from the root to that node.
Remark
- Besides the methods of sorted sequences, binary search trees have a private method Binary Search Tree:Remove node, which receives a pointer p to a binary search tree node and removes id (possibly by removing another node and overwriting the key to be removed with the key of the other node. Prerequisite: [math]\displaystyle{ p.left \neq void }[/math]
- There are variants on binary search trees, such as AVL trees and red-black-trees, for which the height of the tree is guaranteed to be in [math]\displaystyle{ O \log{n} }[/math] in these variants (because the additional operations in these methods are necessary to maintain logatihmic height are linear in the height of the tree as well=.
- The mathematical concept behind this data structure is described in the section on binary search trees of page Directed Tree.