This project was all about Binary trees.
I learnt about binary trees; the difference between a binary tree and a Binary Search Tree, the possible gain in terms of time complexity compared to linked lists, the depth, the height, the size of a binary tree, the different traversal methods to go through a binary tree and what a complete, a full, a perfect, a balanced binary tree means.
- Language: C
- Standard libraries are not allowed, except specified. i.e.
printf
,puts
, etc. are not allowed. - OS: Ubuntu 20.04 LTS
- Compiler: gcc 4.8.4
- Compiler options:
-Wall
-Werror
-Wextra
-pedantic
-std=gnu89
- Style guidelines: Betty style
- Each file contains the solution to a task in the project.
- binary_trees.h: A file that contains the prototypes of all your functions used in this project.
- main_files: A folder of test files. Provided by Alx.
- 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.
- :
Work is owned and maintained by Chaimae Boultam and Ebube Ochemba.
All work contained in this project was completed as part of the curriculum for Alx. ALX is a leading technology training provider, built to accelerate the careers of young Africans through the technology and professional skills that enable them to thrive in the digital economy. The program prepares students for careers in the tech industry using project-based peer learning. For more information, visit.