This project is part of the Holberton School curriculum.
It focuses on the implementation and understanding of binary trees using the C programming language.
You will learn how to create, traverse, and manipulate binary trees, and understand the key differences between binary trees and other data structures such as linked lists and Binary Search Trees (BST).
This project is done in teams of two people: Team members: Banan Ahmed Aleid & Khulood Hamdan Alqahtani
At the end of this project, you should be able to explain, without the help of Google:
- What is a binary tree
- What is the difference between a binary tree and a Binary Search Tree (BST)
- What is the possible gain in terms of time complexity compared to linked lists
- What are the depth, height, and size of a binary tree
- What are the different traversal methods (pre-order, in-order, post-order)
- What is a complete, full, perfect, and balanced binary tree
All your files will be compiled using the following flags:
gcc -Wall -Wextra -Werror -pedantic -std=gnu89 *.c -o binary_trees