0x1D. C -BIRNARY TREES
LEARNING OBJECTIVES
$ What is a binary tree $ What is the difference between a binary tree and a Binary Search Tree $ What is the possible gain in terms of time complexity compared to linked lists $ What are the depth, the height, the size of a binary tree $ What are the different traversal methods to go through a binary tree $ What is a complete, a full, a perfect, a balanced binary tree
TASKS
- a function that creates a binary tree node
- a function that inserts a node as the left-child of another node
- a function that inserts a node as the right-child of another node
- a function that deletes an entire binary tree
- a function that checks if a node is a leaf
- a function that checks if a given node is a root
- a function that goes through a binary tree using pre-order traversal
- a function that goes through a binary tree using in-order traversal
- a function that goes through a binary tree using post-order traversal
- a function that measures the height of a binary tree
- a function that measures the depth of a node in a binary tree
- a function that measures the size of a binary tree
- a function that counts the leaves in a binary tree
- a function that counts the nodes with at least 1 child in a binary tree
- a function that measures the balance factor of a binary tree
- a function that checks if a binary tree is full
- a function that checks if a binary tree is perfect
- a function that finds the sibling of a node
- a function that finds the uncle of a node
The rest are Advanced tasks.