Binary search tree: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:Data Structures]] | [[Category:Data Structures]] | ||
[[Category:Trees]] | [[Category:Trees]] | ||
[[Category:Binary_Search_Tree]] | |||
<div class="plainlinks" style="float:right;margin:0 0 5px 5px; border:1px solid #AAAAAA; width:auto; padding:1em; margin: 0px 0px 1em 1em;"> | <div class="plainlinks" style="float:right;margin:0 0 5px 5px; border:1px solid #AAAAAA; width:auto; padding:1em; margin: 0px 0px 1em 1em;"> |
Revision as of 22:53, 19 September 2014
General Information
Abstract Data Structure:
Implementation Invariant:
- There is a tree item type with three components:
- key is of generic type [math]\displaystyle{ \kappa }[/math]
- left and right of type "pointer to tree item of type [math]\displaystyle{ \kappa }[/math]"
- An object of the binary search tree type contains a pointer root of type "pointer to tree item of type [math]\displaystyle{ \kappa }[/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 methos 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 removeing 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=.
- For further information, see section "Binary search tree" of page Directed tree.