This project is about Binary Trees in C and other tree-type data structures.
- 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
- All files were created and compiled on Ubuntu 14.04.4 LTS on gcc 4.8.4
using the flags -Wall -Werror -Wextra and -pedantic - All files were linted for syntax and style with Betty
Files | Description |
---|---|
0-binary_tree_node.c | C function that creates a binary tree node |
1-binary_tree_insert_left.c | C function that inserts a node as the left-child of another node |
2-binary_tree_insert_right.c | C function that inserts a node as the right-child of another node |
3-binary_tree_delete.c | C function that deletes an entire binary tree |
4-binary_tree_is_leaf.c | C function that checks if a node is a leaf |
5-binary_tree_is_root.c | C function that checks if a given node is a root |
6-binary_tree_preorder.c | C function that goes through a binary tree using pre-order traversal |
7-binary_tree_inorder.c | C function that goes through a binary tree using in-order traversal |
8-binary_tree_postorder.c | C function that goes through a binary tree using post-order traversal |
9-binary_tree_height.c | C function that measures the height of a binary tree |
10-binary_tree_depth.c | C function that measures the depth of a node in a binary tree |
11-binary_tree_size.c | C function that measures the size of a binary tree |
12-binary_tree_leaves.c | C function that counts the leaves in a binary tree |
13-binary_tree_nodes.c | C function that counts the nodes with at least 1 child in a binary tree |
14-binary_tree_balance.c | C function that measures the balance factor of a binary tree |
15-binary_tree_is_full.c | C function that checks if a binary tree is full |
16-binary_tree_is_perfect.c | C function that checks if a binary tree is perfect |
17-binary_tree_sibling.c | C function that finds the sibling of a node |
18-binary_tree_uncle.c | C function that finds the uncle of a node |