- Construction of Binary Tree (from a specific representation to its Linked representation & back)
- Convert from Array Representation of Binary Tree to a Binary Tree & back (based on Level Order Traversal representation of complete binary tree)
- Convert from Array Representation of Binary Tree to a Binary Tree & back (based on LeetCode's Level Order Traversal representation of binary tree)
- Convert Nested Lists representation of Binary Tree to a Binary Tree & back based on Tree Representation by BradFieldCS
- Convert Map representation of Binary Tree & back based on Tree Representation by BradFieldCS
- Convert BinaryTreeNode to Left-Child & Right-Sibling representation & back (LC - RS)
- Traversals of a Binary Tree
- InOrder
- Pre-order
- Post-order
- Level-order
- Levels into separate arrays
- zigzag-order
- Zigzag (Horizontal)
- Zigzag inverse (Horizontal)
- ZigZag Reverse (Horizontal)
- Vertical ZigZag (Horizontal)
- spiral-order
- Clockwise
- AntiClockwise
- Clockwise Reverse
- Anti-ClockWise Reverse
- vertical-order
- Same row & column with order from left to right
- Same row & column with order of smaller value reported first.
- diagonal-order
- slope = -1 line
- slope = +1 line
- boundary-level-order
- left-right traversal
- triangular traversal
- middle to up-down order traversal
- sideways traversal
- Morris in-order traversal
- Morris pre-order traversal
- Morris post-order traversal
- Morris level-order traversal
- Insertion (of a Node into a Binary Tree)
- Deletion
- Deletion of a Node from Binary Tree via the Deepest and RightMost Node swap approach
- Destroy the Binary Tree via Post order traversal
- Views of a Binary Tree
- Height / Depth of tree
- Max Height / Depth of Tree (Recursive top-down)
- Max Height / Depth of Tree (Recursive bottom-up)
- Min Height / Depth of Tree (Iterative)
- Width of tree
- Diameter of tree
- Counts
- Number of leaf nodes (terminal or external nodes - nodes without children)
- Number of full nodes (those that have both LEFT and RIGHT subtrees)
- Number of half nodes (those that have either LEFT or RIGHT subtrees)
- Number of internal nodes (non-terminal / non-leaf nodes)
- Number of levels
- Number of edges
- Number of nodes
- Sum of all nodes
- Check if binary tree is height Balanced.
- Convert N-ary tree to Binary Tree and back.
- Serialize Binary Tree
- Serialize via pre-order traversal with info on Leaf Nodes and Null Child Nodes & de-serialize
- Serialize via pre-order traversal with info on internal Nodes and external Nodes & de-serialize
- Serialize via level-order traversal of Complete Binary tree & de-serialize
- Serialize via level-order traversal of Binary tree, per leetcode representation & de-serialize
- Serialize N-ary tree.
- Structural (changes to the structure of the Binary Tree - specific structural observations, checks and changes)
- Search
- Binary Tree type checks
- isHeightBalanced
- isFull
- isPerfect
- isComplete
- isSkewed
- isIdentical
- isIsomorphic
- isSymmetrical
- isQuasiIsoMorphic