Binary Trees

Description

In computer science, various data structures help in arranging data in different forms. Among them, trees are widely used abstract data structures that simulate a hierarchical tree structure. A tree usually has a root value and subtrees that are formed by the child nodes from its parent nodes. Trees are non-linear data structures.

A binary tree is a tree-type non-linear data structure with a maximum of two children for each parent. Every node in a binary tree has a left and right reference along with the data element. The node at the top of the hierarchy of a tree is called the root node. The nodes that hold other sub-nodes are the parent nodes.

A parent node has two child nodes: the left child and right child. Hashing, routing data for network traffic, data compression, preparing binary heaps, and binary search trees are some of the applications that use a binary tree.

This knowledge is applied to the solving of each task therein in this repository.

Requirements & Environment

  • Allowed editors: vi, vim, emacs.
  • All files will be compiled on Ubuntu 20.04 LTS using gcc, using the options -Wall -Werror -Wextra -pedantic -std=gnu89.
  • All files should end with a new line.
  • A README.md file, at the root of the folder of the project, is mandatory.
  • Coding Style;
    • Betty style. It will be checked using betty-style.pl and betty-doc.pl
  • Use of the standard library is not allowed.
  • The prototypes of all functions should be included in your header file called binary_trees.h.
  • No more than 5 functions per file.
  • The use of global variables is not allowed.
  • All header files should be include guarded

Authors & Credits

This is an ALX Holberton School project, it was done in a team of two people indicated below;

  • [Chioma Simon ]{https://@github.com/Miss-Brain}