0x1D. C - Binary Trees Description This project is a group assignment focused on implementing various operations on binary trees. The project is divided into several tasks, each requiring the implementation of a specific function related to binary trees.

Contributors Boniface Rotich Installation This project uses the gcc compiler on Ubuntu 20.04 LTS. Make sure you have gcc installed on your system.

Tasks New Node: Write a function that creates a binary tree node. Insert Left: Write a function that inserts a node as the left-child of another node. Insert Right: Write a function that inserts a node as the right-child of another node. Delete: Write a function that deletes an entire binary tree. Is Leaf: Write a function that checks if a node is a leaf. Is Root: Write a function that checks if a given node is a root. Pre-order Traversal: Write a function that goes through a binary tree using pre-order traversal. In-order Traversal: Write a function that goes through a binary tree using in-order traversal. Post-order Traversal: Write a function that goes through a binary tree using post-order traversal. Height: Write a function that measures the height of a binary tree. Depth: Write a function that measures the depth of a node in a binary tree. Size: Write a function that measures the size of a binary tree. Leaves: Write a function that counts the leaves in a binary tree. Nodes: Write a function that counts the nodes with at least 1 child in a binary tree. Balance Factor: Write a function that measures the balance factor of a binary tree. Is Full: Write a function that checks if a binary tree is full. Is Perfect: Write a function that checks if a binary tree is perfect. Sibling: Write a function that finds the sibling of a node. Uncle: Write a function that finds the uncle of a node