Giter Club home page Giter Club logo

eliasafara / algorithmic-odyssey Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 1.0 93 KB

๐Ÿ“ Welcome to my Algorithmic Odyssey! This repository is a collection of algorithms and data structures that I've written, explored, and refined as part of my journey into the fascinating world of computer science and problem-solving.

Home Page: https://eliasafara.fr

License: GNU General Public License v3.0

JavaScript 98.58% TypeScript 0.23% Shell 1.19%
algorithms coding data-structures javascript computer-science interview-preparation javascript-algorithms-and-data-structures

algorithmic-odyssey's Introduction

Algorithmic Odyssey - JavaScript

Welcome to my Algorithmic Odyssey! This repository is a collection of algorithms and data structures that I've written, explored, and refined as part of my journey into the fascinating world of computer science and problem-solving. Whether you're a fellow learner or an enthusiast, this repository serves as a record of my algorithmic adventures, offering a range of solutions, explanations, and insights

Algorithmic Odyssey Banner

Getting Started

Before you dive into this repository, there are a few things you need to make sure of.

Node.js Version Requirement

To explore and run the algorithms and data structures in my "Algorithmic Odyssey - JavaScript" repository, you'll need Node.js installed on your computer. Node.js acts as the underlying engine that powers the execution of these JavaScript algorithms and data structures.

Ensure you have a specific version of Node.js installed to work seamlessly with this repository.

In our package.json file, you'll find this line:

"engines": {
    "node": ">=20.6.0"
}

Node.js Release Information

Here's the current release information for Node.js:

Release Status Codename Initial Release Active LTS Start Maintenance LTS Start End Of Life
V20 Current 2023-04-18 2023-10-24 2024-10-22 2026-04-30

For more details on Node.js releases, you can refer to the official Node.js release page.

Testing

Writing tests for our Algorithms will help us ensure the implementations are airtight even after multiple fixes and code changes.

We use Vitest to run unit tests on our algorithms. It provides a very readable and expressive way to structure your test code.

First, you should install all dependencies using:

npm install

You can (and should!) run all tests locally before committing your changes:

npm test

If you want to save some time and just run a specific test:

# This will run any test file where the filename contains "keyword" (no need to specify folder path)
npm test -- keyword

You can also start Vitest in "watch" mode:

npm run test-watch

Creating New Algorithms and Tests

If you'd like to contribute and add new algorithms and their corresponding test files to this repository, you can use an npm script we've provided. Please note that this step is optional, and you can create the files manually if you prefer.

To create new algorithm and test files, follow these steps:

  1. Open your terminal and navigate to the root directory of the repository.

  2. Use the following command to create a new algorithm and its corresponding test file. Replace <category>, <algorithm> with your desired values:

    npm run create-algorithm <category> <algorithm>

    For example:

    npm run create-algorithm Searching BinarySearch
  3. The script will create the specified algorithm and test files in the appropriate category folder.

algorithmic-odyssey's People

Contributors

eliasafara avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

roynassif

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.