/algorithms

constructing a list of algorithms with my own Q & A file answering everything you every wanted to know about the algorithm

Primary LanguageJavaScript

My Algorithms Repo

Welcome to the Algorithm Repository! This repository contains a collection of algorithms along with tests to evaluate their performance. It aims to provide comprehensive information about each algorithm, including their runtime complexity.

Installation and Setup

To get started, follow these steps:

  1. Clone the repository to your local machine.

  2. Install Mocha, Chai, and Node.js if you haven't already.

  3. Run the following command in your Node.js terminal:

    jest [algorithmFolder]/[algorithmTestFile.js] --watch
    

    This command will execute the tests using Jest and continuously watch for changes.

Understanding Algorithm Performance

The primary goal of this repository is to help you identify the runtime complexity of algorithms. By analyzing an algorithm's performance, we can determine how much additional processing power, time, or storage is required when the input size doubles. This analysis is expressed using Big O notation.

Big O Notation

The "Big O()" notation folder in this repository provides a more concrete way to compare algorithms. It breaks down the different aspects of algorithmic analysis, enabling a deeper understanding of their performance characteristics.

Q & A Files

Each algorithm folder contains a Q & A file, which serves as a comprehensive resource covering everything you need to know about the algorithm. It includes detailed explanations of the algorithm's approach, its data structures, and the reasoning behind specific design choices. Consider these files as your go-to references for algorithm-related questions.

Contributing

We are currently not welcoming contributions to this repository! If you have an algorithm you'd like to add or have found a way to optimize an existing one, please feel free to submit a pull request. Sharing is caring.

License

This repository is released under the MIT License. Please review the license file for more information.

Happy exploring and analyzing algorithms!

  • Algorithm Repository Team: 1) Tannehill