.. _BinaryTreeIntro: .. raw:: html .. |--| unicode:: U+2013 .. en dash .. |---| unicode:: U+2014 .. em dash, trimming surrounding whitespace :trim: .. This file is part of the OpenDSA eTextbook project. See .. http://algoviz.org/OpenDSA for more details. .. Copyright (c) 2012-2016 by the OpenDSA Project Contributors, and .. distributed under an MIT open source license. .. avmetadata:: :author: Cliff Shaffer :satisfies: binary tree intro :topic: Binary Trees Binary Trees Chapter Introduction ================================= :term:`Tree ` structures enable efficient access and efficient update to large collections of data. :term:`Binary trees ` in particular are widely used and relatively easy to implement. But binary trees are useful for many things besides searching. Just a few examples of applications that trees can speed up include :ref:`prioritizing jobs `, :ref:`describing mathematical expressions ` and the syntactic elements of computer programs, or organizing the information needed to drive :term:`data compression algorithms `. This chapter covers terminology used for discussing binary trees, :term:`tree traversals `, approaches to implementing tree :term:`nodes `, and various examples of binary trees.