Giter Club home page Giter Club logo

binary_trees's Introduction

0x1D. C - Binary trees


Description

A binary tree is a data structure that is made up of nodes. Each node has at most two children, which are referred to as the left child and the right child. A binary tree can be used to store data in a hierarchical manner, allowing for efficient insertion, deletion, and search operations. Binary trees are commonly used in computer science for a variety of tasks, such as storing data in a sorted order, implementing efficient search algorithms, and more.

Learning Objectives

  • 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

Usage

  • All files were created and compiled on Ubuntu 20.04 LTS on gcc 4.8.4
    using the flags -Wall -Werror -Wextra and -pedantic
  • All files were linted for syntax and style with Betty

Table of contents

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

Authors

binary_trees's People

Contributors

sammiearchie77 avatar

Watchers

 avatar

Forkers

ukaemma2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.