{"id":15767769,"url":"https://github.com/eliasafara/algorithmic-odyssey","last_synced_at":"2025-10-25T06:07:26.704Z","repository":{"id":199080038,"uuid":"701890227","full_name":"EliasAfara/algorithmic-odyssey","owner":"EliasAfara","description":"📝  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. ","archived":false,"fork":false,"pushed_at":"2023-11-12T03:26:05.000Z","size":93,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-21T04:42:10.207Z","etag":null,"topics":["algorithms","coding","computer-science","data-structures","interview-preparation","javascript","javascript-algorithms-and-data-structures"],"latest_commit_sha":null,"homepage":"https://eliasafara.fr","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EliasAfara.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null}},"created_at":"2023-10-07T21:39:58.000Z","updated_at":"2025-02-20T20:34:27.000Z","dependencies_parsed_at":"2023-11-12T04:22:49.359Z","dependency_job_id":null,"html_url":"https://github.com/EliasAfara/algorithmic-odyssey","commit_stats":{"total_commits":38,"total_committers":2,"mean_commits":19.0,"dds":0.02631578947368418,"last_synced_commit":"39df0f130c18633e7ef0a826d04a0a834459c3a7"},"previous_names":["eliasafara/algorithmic-odyssey"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/EliasAfara/algorithmic-odyssey","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EliasAfara%2Falgorithmic-odyssey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EliasAfara%2Falgorithmic-odyssey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EliasAfara%2Falgorithmic-odyssey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EliasAfara%2Falgorithmic-odyssey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EliasAfara","download_url":"https://codeload.github.com/EliasAfara/algorithmic-odyssey/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EliasAfara%2Falgorithmic-odyssey/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271035378,"owners_count":24688396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-18T02:00:08.743Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","coding","computer-science","data-structures","interview-preparation","javascript","javascript-algorithms-and-data-structures"],"created_at":"2024-10-04T13:41:04.436Z","updated_at":"2025-10-25T06:07:21.671Z","avatar_url":"https://github.com/EliasAfara.png","language":"JavaScript","readme":"# Algorithmic Odyssey - JavaScript\n\n\u003c!-- Front Matter --\u003e\n\nWelcome 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\n\n![Algorithmic Odyssey Banner][banner]\n\n\u003c!-- Disclaimer --\u003e\n\n## Getting Started\n\nBefore you dive into this repository, there are a few things you need to make sure of.\n\n\u003c!-- Body --\u003e\n\n### Node.js Version Requirement\n\nTo 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.\n\nEnsure you have a specific version of Node.js installed to work seamlessly with this repository.\n\nIn our `package.json` file, you'll find this line:\n\n```json\n\"engines\": {\n    \"node\": \"\u003e=20.6.0\"\n}\n```\n\n### Node.js Release Information\n\nHere's the current release information for Node.js:\n\n| Release | Status  | Codename | Initial Release | Active LTS Start | Maintenance LTS Start | End Of Life |\n| ------- | ------- | -------- | --------------- | ---------------- | --------------------- | ----------- |\n| V20     | Current |          | 2023-04-18      | 2023-10-24       | 2024-10-22            | 2026-04-30  |\n\nFor more details on Node.js releases, you can refer to the [official Node.js release page](https://nodejs.dev/en/about/releases/).\n\n### Testing\n\nWriting tests for our Algorithms will help us ensure the implementations are airtight even after multiple fixes and code changes.\n\nWe use [Vitest](https://vitest.dev/) to run unit tests on our algorithms. It provides a very readable and expressive way to structure your test code.\n\nFirst, you should install all dependencies using:\n\n```bash\nnpm install\n```\n\nYou can (and should!) run all tests locally before committing your changes:\n\n```bash\nnpm test\n```\n\nIf you want to save some time and just run a specific test:\n\n```bash\n# This will run any test file where the filename contains \"keyword\" (no need to specify folder path)\nnpm test -- keyword\n```\n\nYou can also start Vitest in \"watch\" mode:\n\n```bash\nnpm run test-watch\n```\n\n### Creating New Algorithms and Tests\n\nIf 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.\n\nTo create new algorithm and test files, follow these steps:\n\n1. Open your terminal and navigate to the root directory of the repository.\n\n2. Use the following command to create a new algorithm and its corresponding test file. Replace `\u003ccategory\u003e`, `\u003calgorithm\u003e` with your desired values:\n\n   ```bash\n   npm run create-algorithm \u003ccategory\u003e \u003calgorithm\u003e\n   ```\n\n   For example:\n\n   ```bash\n   npm run create-algorithm Searching BinarySearch\n   ```\n\n3. The script will create the specified algorithm and test files in the appropriate category folder.\n\n\u003c!-- Banner Image --\u003e\n\n[banner]: https://github.com/EliasAfara/algorithmic-odyssey/assets/39487200/eb07f16e-11e6-4f3c-9ee9-504f5dbf83c7\n\n\u003c!-- Badge Links --\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feliasafara%2Falgorithmic-odyssey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feliasafara%2Falgorithmic-odyssey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feliasafara%2Falgorithmic-odyssey/lists"}