So can you please tell me what is the academic mathematical definition of a binary tree? ( I even omitted the data element part and he didn't accept) the text is:

" A binary tree is made of nodes, where each node contains a "left" reference, a "right" reference, and a data element. The topmost node in the tree is called the root. Every node (excluding a root) in a tree is connected by a directed edge from exactly one other node. This node is called a parent. On the other hand, each node can be connected to maximum two nodes, called children."

  • $\begingroup$ Welcome to MathSE! Please type in your post what's written in the image. Always prefer text over attached images. Also, what do those red squares mean? $\endgroup$
    – evaristegd
    Commented Jul 13, 2019 at 7:01
  • $\begingroup$ @evaristegd thank you for your comment sorry I am new and I edited the question put the text, those red square are nothing just his software problem with commenting $\endgroup$
    – Sina M
    Commented Jul 13, 2019 at 7:06
  • $\begingroup$ reference${}{}$? $\endgroup$ Commented Jul 13, 2019 at 7:15
  • 1
    $\begingroup$ @LordSharktheUnknown this link cs.cmu.edu/~adamchik/15-121/lectures/Trees/trees.html $\endgroup$
    – Sina M
    Commented Jul 13, 2019 at 7:17
  • 1
    $\begingroup$ The teacher sounds like a jerk. Are you in a class, or are they advising some kind of thesis you're writing? Are you in a position to ask then to clarify face to face? $\endgroup$ Commented Jul 13, 2019 at 7:32

1 Answer 1


I suspect your teacher's issue is not with the substance of your definition but with the phrasing you give it when you say that the nodes "contain" their children (or references to them).

Mathematicians would more often say that the tree simply has an abstract set of nodes, where the definition of "tree" doesn't care what each node looks like in details. Things like which nodes are children of which would usually be specified as something external to the nodes themselves -- say, in a separate set of edges, or partial functions $l$ or $r$ from nodes to other nodes, with particular properties. Similarly for other data you imagine the nodes to come with (which mathematicians would tend to call "labels").

When you define a particular concrete tree you would of course often let the nodes be objects where you encode things that the $l$ and $r$ functions pick out of them. But this would be an implementation detail for that particular tree which cannot be seen when you just say "Let $T$ be a tree".

You'd also need to say something like no node is both a left child and a right child, and every node is reachable from the root in finitely many steps.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .