Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/youssefelghamour/binary_trees

Repository containing implementations of various binary tree operations in C
https://github.com/youssefelghamour/binary_trees

algorithm algorithms algorithms-and-data-structures avl-tree binary-search-tree binary-tree binary-trees c data-structures

Last synced: about 1 month ago
JSON representation

Repository containing implementations of various binary tree operations in C

Awesome Lists containing this project

README

        

# 0x1D. C - Binary trees

## Overview

This repository contains the collaborative work of a group project undertaken by Mahmoud Hammam and Youssef El Ghamour, as part of the ALX Software Engineering program. This project contains implementations of various binary tree operations in C. Each file contains functions that perform specific tasks related to binary trees.

## Files

| File | Description |
|-------------------------------|-------------------------------------------------|
| `0-binary_tree_node.c` | Creates a binary tree node |
| `1-binary_tree_insert_left.c` | Inserts a node as the left-child |
| `2-binary_tree_insert_right.c` | Inserts a node as the right-child |
| `3-binary_tree_delete.c` | Deletes an entire binary tree |
| `4-binary_tree_is_leaf.c` | Checks if a node is a leaf |
| `5-binary_tree_is_root.c` | Checks if a node is a root |
| `6-binary_tree_preorder.c` | Pre-order traversal of a binary tree |
| `7-binary_tree_inorder.c` | In-order traversal of a binary tree |
| `8-binary_tree_postorder.c` | Post-order traversal of a binary tree |
| `9-binary_tree_height.c` | Measures the height of a binary tree |
| `10-binary_tree_depth.c` | Measures the depth of a node |
| `11-binary_tree_size.c` | Measures the size of a binary tree |
| `12-binary_tree_leaves.c` | Counts the leaves in a binary tree |
| `13-binary_tree_nodes.c` | Counts the nodes with at least 1 child |
| `14-binary_tree_balance.c` | Measures the balance factor of a binary tree |
| `15-binary_tree_is_full.c` | Checks if a binary tree is full |
| `16-binary_tree_is_perfect.c` | Checks if a binary tree is perfect |
| `17-binary_tree_sibling.c` | Finds the sibling of a node in a binary tree |
| `18-binary_tree_uncle.c` | Finds the uncle of a node in a binary tree |
| `100-binary_trees_ancestor.c` | Finds the lowest common ancestor of two nodes |
| `101-binary_tree_levelorder.c`| Level-order traversal of a binary tree |
| `102-binary_tree_is_complete.c`| Checks if a binary tree is complete |
| `103-binary_tree_rotate_left.c`| Performs a left rotation on a binary tree |
| `104-binary_tree_rotate_right.c`| Performs a right rotation on a binary tree |
| `110-binary_tree_balance.c` | Measures the balance factor of a binary tree |
| `111-bst_insert.c` | Inserts a value in a Binary Search Tree |
| `112-array_to_bst.c` | Builds a Binary Search Tree from an array |
| `113-bst_search.c` | Searches for a value in a Binary Search Tree |
| `115-O` | Big O complexities of BST operations |
| `120-binary_tree_is_avl.c` | Checks if a binary tree is a valid AVL Tree |
| `121-avl_insert.c` | Inserts a value in an AVL Tree |
| `122-array_to_avl.c` | Builds an AVL Tree from an array |
| `125-O` | Big O complexities of AVL Tree operations |
| `135-O` | Big O complexities of Binary Heap operations |