Coder Social home page Coder Social logo

binary_trees's Introduction

Allowed editors: vi, vim, emacs All your files will be compiled on Ubuntu 20.04 LTS using gcc, using the options -Wall -Werror -Wextra -pedantic -std=gnu89 All your files should end with a new line A README.md file, at the root of the folder of the project, is mandatory Your code should use the Betty style. It will be checked using betty-style.pl and betty-doc.pl You are not allowed to use global variables No more than 5 functions per file You are allowed to use the standard library In the following examples, the main.c files are shown as examples. You can use them to test your functions, but you don’t have to push them to your repo (if you do we won’t take them into account). We will use our own main.c files at compilation. Our main.c files might be different from the one shown in the examples The prototypes of all your functions should be included in your header file called binary_trees.h Don’t forget to push your header file All your header files should be include guarded New node Write a function that creates a binary tree node

Insert left Write a function that inserts a node as the left-child of another node

Insert right Write a function that inserts a node as the right-child of another node

Delete Write a function that deletes an entire binary tree

Is leaf Write a function that checks if a node is a leaf

Is root Write a function that checks if a given node is a root

Pre-order traversal Write a function that goes through a binary tree using pre-order traversal

In-order traversal Write a function that goes through a binary tree using in-order traversal

Post-order traversal Write a function that goes through a binary tree using post-order traversal

Height Write a function that measures the height of a binary tree

Depth Write a function that measures the depth of a node in a binary tree

Size Write a function that measures the size of a binary tree

Leaves Write a function that counts the leaves in a binary tree

Nodes Write a function that counts the nodes with at least 1 child in a binary tree

Balance factor Write a function that measures the balance factor of a binary tree

Is full Write a function that checks if a binary tree is full

Is perfect Write a function that checks if a binary tree is perfect

Sibling Write a function that finds the sibling of a node

Uncle Write a function that finds the uncle of a node

Lowest common ancestor Write a function that finds the lowest common ancestor of two nodes

Level-order traversal Write a function that goes through a binary tree using level-order traversal

Is complete Write a function that checks if a binary tree is complete

Rotate left Write a function that performs a left-rotation on a binary tree

Rotate right Write a function that performs a right-rotation on a binary tree

Is BST Write a function that checks if a binary tree is a valid Binary Search Tree

BST - Insert Write a function that inserts a value in a Binary Search Tree

BST - Array to BST Write a function that builds a Binary Search Tree from an array

BST - Search Write a function that searches for a value in a Binary Search Tree

BST - Remove Write a function that removes a node from a Binary Search Tree

Big O #BST What are the average time complexities of those operations on a Binary Search Tree (one answer per line):

Is AVL Write a function that checks if a binary tree is a valid AVL Tree

AVL - Insert Write a function that inserts a value in an AVL Tree

AVL - Array to AVL Write a function that builds an AVL tree from an array

AVL - Remove Write a function that removes a node from an AVL tree

AVL - From sorted array Write a function that builds an AVL tree from an array

Big O #AVL Tree What are the average time complexities of those operations on an AVL Tree (one answer per line):

binary_trees's People

Contributors

nuradinsultan avatar

Watchers

 avatar

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.