General
- 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
- 0-binary_tree_node.c - a function that creates a binary tree node
- 1-binary_tree_insert_left.c - a function that inserts a node as the left-child of another node
- 2-binary_tree_insert_right.c - a function that inserts a node as the right-child of another node
- 3-binary_tree_delete.c - a function that deletes an entire binary tree
- 4-binary_tree_is_leaf.c - a function that checks if a node is a leaf
- 5-binary_tree_is_root.c - a function that checks if a given node is a root
- 6-binary_tree_preorder.c - a function that goes through a binary tree using pre-order traversal
- 7-binary_tree_inorder.c - a function that goes through a binary tree using in-order traversal
- 8-binary_tree_postorder.c - a function that goes through a binary tree using post-order traversal
- 9-binary_tree_height.c - a function that measures the height of a binary tree
- 10-binary_tree_depth.c - a function that measures the depth of a node in a binary tree
- 11-binary_tree_size.c - a function that measures the size of a binary tree
- 12-binary_tree_leaves.c - a function that counts the leaves in a binary tree
- 13-binary_tree_nodes.c - a function that counts the nodes with at least 1 child in a binary tree
- 14-binary_tree_balance.c - a function that measures the balance factor of a binary tree
- 15-binary_tree_is_full.c - a function that checks if a binary tree is full
- 16-binary_tree_is_perfect.c - a function that checks if a binary tree is perfect
- 17-binary_tree_sibling.c - a function that finds the sibling of a node
- 18-binary_tree_uncle.c - a function that finds the uncle of a node