Project: 0x1D. C - Binary trees

Resources

Read or watch:

Learning Objectives

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

Tasks

Task File
0. New node 0-binary_tree_node.c
1. Insert left SOON
2. Insert right SOON
3. Delete SOON
4. Is leaf SOON
5. Is root SOON
6. Pre-order traversal SOON
7. In-order traversal SOON
8. Post-order traversal SOON
9. Height SOON
10. Depth SOON
11. Size SOON
12. Leaves SOON
13. Nodes SOON
14. Balance factor SOON
15. Is full SOON
16. Is perfect SOON
17. Sibling SOON
18. Uncle SOON
19. Lowest common ancestor SOON
20. Level-order traversal SOON
21. Is complete SOON
22. Rotate left SOON
23. Rotate right SOON
24. Is BST SOON
25. BST - Insert SOON
26. BST - Array to BST SOON
27. BST - Search SOON
28. BST - Remove SOON
29. Big O #BST SOON
30. Is AVL SOON
31. AVL - Insert SOON
32. AVL - Array to AVL SOON
33. AVL - Remove SOON
34. AVL - From sorted array SOON
35. Big O #AVL Tree SOON
36. Is Binary heap SOON
37. Heap - Insert SOON
38. Heap - Array to Binary Heap SOON
39. Heap - Extract SOON
40. Heap - Sort SOON
41. Big O #Binary Heap SOON