ウィキペディアは間違っている可能性があります。二分木は有限のデータ構造であり、サブツリーは空にする必要があります。そうしないと、二分木は無限になります。バイナリツリーの再帰的定義の基本ケースでは、単一ノードまたは空のツリーのいずれかを許可する必要があります。
Touch of Classのセクション14.4 :オブジェクトとコントラクトをうまく使用したプログラミングの概要、Bertrand Meyer、Springer Verlag、2009年。©Bertrand Meyer、2009年。バイナリツリーのより良い再帰的定義があります。
Definition: binary tree
A binary tree over G, for an arbitrary data type G, is a finite set of items called
nodes, each containing a value of type G, such that the nodes, if any, are
divided into three disjoint parts:
• A single node, called the root of the binary tree.
• (Recursively) two binary trees over G, called the left subtree and right subtree.
The definition explicitly allows a binary tree to be empty (“the nodes, if any”).
Without this, of course, the recursive definition would lead to an infinite
structure, whereas our binary trees are, as the definition also prescribes, finite.
If not empty, a binary tree always has a root, and may have: no subtree; a
left subtree only; a right subtree only; or both.