mirror of
https://github.com/trekhleb/javascript-algorithms.git
synced 2025-07-06 17:44:08 +08:00
Add README.
This commit is contained in:
32
src/data-structures/tree/binary-search-tree/README.md
Normal file
32
src/data-structures/tree/binary-search-tree/README.md
Normal file
@ -0,0 +1,32 @@
|
||||
# Binary Search Tree
|
||||
|
||||
In computer science, binary search trees (BST), sometimes called
|
||||
ordered or sorted binary trees, are a particular type of container:
|
||||
data structures that store "items" (such as numbers, names etc.)
|
||||
in memory. They allow fast lookup, addition and removal of
|
||||
items, and can be used to implement either dynamic sets of
|
||||
items, or lookup tables that allow finding an item by its key
|
||||
(e.g., finding the phone number of a person by name).
|
||||
|
||||
Binary search trees keep their keys in sorted order, so that lookup
|
||||
and other operations can use the principle of binary search:
|
||||
when looking for a key in a tree (or a place to insert a new key),
|
||||
they traverse the tree from root to leaf, making comparisons to
|
||||
keys stored in the nodes of the tree and deciding, on the basis
|
||||
of the comparison, to continue searching in the left or right
|
||||
subtrees. On average, this means that each comparison allows
|
||||
the operations to skip about half of the tree, so that each
|
||||
lookup, insertion or deletion takes time proportional to the
|
||||
logarithm of the number of items stored in the tree. This is
|
||||
much better than the linear time required to find items by key
|
||||
in an (unsorted) array, but slower than the corresponding
|
||||
operations on hash tables.
|
||||
|
||||
A binary search tree of size 9 and depth 3, with 8 at the root.
|
||||
The leaves are not drawn.
|
||||
|
||||

|
||||
|
||||
## References
|
||||
|
||||
[Wikipedia](https://en.wikipedia.org/wiki/Binary_search_tree)
|
Reference in New Issue
Block a user