a "binary tree". Allowing empty trees makes some definitions simpler, some more complicated: a rooted tree must be non-empty, hence if empty trees are allowed the above definition instead becomes "an empty tree or a rooted tree such that ...". On the other hand, empty trees simplify defining fixed branching factor: with empty trees allowed, a binary tree is a tree such that every node has exactly two children, each of which is a tree (possibly empty). The complete sets of operations on the tree must include the fork operation. See also Tree structure (general) :Category:Trees (data structures) (catalogs types of computational trees) Notes References Further reading Donald Knuth. The Art of Computer Programming: Fundamental Algorithms, Third Edition. Addison-Wesley, 1997. . Section 2.3: Trees, pp. 308–423. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. . Section 10.4: Representing rooted trees, pp. 214–217. Chapters 12–14 (Binary Search Trees, Red–Black Trees, Augmenting Data Structures), pp. 253–320. External links Data Trees as a Means of Presenting Complex Data Analysis by Sally Knipe on August 8, 2013 Description from the Dictionary of Algorithms and Data Structures CRAN package data.tree – implementation of a tree data structure in the R programming language WormWeb.org: Interactive Visualization of the C. elegans Cell Tree – Visualize the entire cell lineage tree of the nematode C. elegans (javascript) Binary Trees by L. Allison Data types Knowledge representation Abstract data types de:Baum (Graphentheorie)