README.md file of Binary_Trees Project contains the following tasks
Task 0. New node | Write a function that creates a binary tree node
Task 1. Insert left | Write a function that inserts a node as the left child of another node
Task 2. Insert right | Write a function that inserts a node as the right child of another node
Task 3. Delete | Write a function that deletes an entire binary tree
Task 4. Is leaf | Write a function that checks if a node is a leaf
Task 5. Is root | Write a function that checks if a given node is a root
Task 6. Pre-order traversal | Write a function that goes through a binary tree using pre-order traversal
Task 7. In-order traversal | Write a function that goes through a binary tree using in-order traversal
Task 8. Post-order traversal | Write a function that goes through a binary tree using post-order traversal
Task 9. Height | Write a function that measures the height of a binary tree
Task 10. Depth | Write a function that measures the depth of a node in a binary tree
Task 11. Size | Write a function that measures the size of a binary tree
Task 12. Leaves | Write a function that counts the leaves in a binary tree
Task 13. Nodes | Write a function that counts the nodes with at least 1 child in a binary tree
Task 14. Balance factor | Write a function that measures the balance factor of a binary tree
Task 15. Is full | Write a function that checks if a binary tree is full
Task 16. Is perfect | Write a function that checks if a binary tree is perfect
Task 17. Sibling | Write a function that finds the sibling of a node
Task 18. Uncle | Write a function that finds the uncle of a node
Task 19. Lowest common ancestor | Write a function that finds the lowest common ancestor of two nodes
Task 20. Level-order traversal | Write a function that goes through a binary tree using level-order traversal
Task 21. Is complete | Write a function that checks if a binary tree is complete
Task 22. Rotate left | Write a function that performs a left-rotation on a binary tree
Task 23. Rotate right | Write a function that performs a right rotation on a binary tree
Task 24. Is BST | Write a function that checks if a binary tree is a valid Binary Search Tree
Task 25. BST – Insert | Write a function that inserts a value in a Binary Search Tree
Task 26. BST - Array to BST | Write a function that builds a Binary Search Tree from an array
Task 27. BST – Search | Write a function that searches for a value in a Binary Search Tree
Task 28. BST – Remove | Write a function that removes a node from a Binary Search Tree
Task 29. Big O #BST | What are the average time complexities of those operations on a Binary Search Tree (one answer per line)
Task 30. Is AVL | Write a function that checks if a binary tree is a valid AVL Tree
Task 31. AVL – Insert | Write a function that inserts a value in an AVL Tree
Task 32. AVL - Array to AVL | Write a function that builds an AVL tree from an array
Task 33. AVL – Remove | Write a function that removes a node from an AVL tree
Task 34. AVL - From sorted array | Write a function that builds an AVL tree from an array
Task 35. Big O #AVL Tree | What are the average time complexities of those operations on an AVL Tree (one answer per line)
Task 36. Is Binary heap | Write a function that checks if a binary tree is a valid Max Binary Heap
Task 37. Heap – Insert | Write a function that inserts a value in Max Binary Heap
Task 38. Heap - Array to Binary Heap | Write a function that builds a Max Binary Heap tree from an array
Task 39. Heap – Extract | Write a function that extracts the root node of a Max Binary Heap
Task 40. Heap – Sort | Write a function that converts a Binary Max Heap to a sorted array of integers
Task 41. Big O #Binary Heap | What are the average time complexities of those operations on a Binary Heap (one answer per line)