{"id":16420074,"url":"https://github.com/ramanaditya/data-structure-and-algorithms","last_synced_at":"2025-03-16T17:34:15.558Z","repository":{"id":55595967,"uuid":"157827855","full_name":"ramanaditya/data-structure-and-algorithms","owner":"ramanaditya","description":"All the important concepts associated with Interview and Data Structures and Algorithms. It's just not about the collection.","archived":false,"fork":false,"pushed_at":"2022-11-16T12:48:13.000Z","size":9522,"stargazers_count":86,"open_issues_count":2,"forks_count":39,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-27T11:48:30.490Z","etag":null,"topics":["algorithm","algorithms","c","codechef","codeforces","competitive-programming","cpp","data-structures","data-structures-and-algorithms","database","hackerrank","hacktoberfest","hacktoberfest-2020","hacktoberfest2020","java","javascript","leetcode","leetcode-solutions","python","python3"],"latest_commit_sha":null,"homepage":"https://interview-docs.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ramanaditya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-16T07:14:54.000Z","updated_at":"2025-02-20T20:36:30.000Z","dependencies_parsed_at":"2023-01-23T11:00:18.243Z","dependency_job_id":null,"html_url":"https://github.com/ramanaditya/data-structure-and-algorithms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ramanaditya%2Fdata-structure-and-algorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ramanaditya%2Fdata-structure-and-algorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ramanaditya%2Fdata-structure-and-algorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ramanaditya%2Fdata-structure-and-algorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ramanaditya","download_url":"https://codeload.github.com/ramanaditya/data-structure-and-algorithms/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243822295,"owners_count":20353500,"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","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":["algorithm","algorithms","c","codechef","codeforces","competitive-programming","cpp","data-structures","data-structures-and-algorithms","database","hackerrank","hacktoberfest","hacktoberfest-2020","hacktoberfest2020","java","javascript","leetcode","leetcode-solutions","python","python3"],"created_at":"2024-10-11T07:26:45.918Z","updated_at":"2025-03-16T17:34:14.857Z","avatar_url":"https://github.com/ramanaditya.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](images/dsa.png)\n\n![image](https://img.shields.io/badge/code%20style-black-000000.svg)\n[![GitHub license](https://img.shields.io/github/license/ramanaditya/data-structure-and-algorithms.svg?logo=github)](https://github.com/ramanaditya/data-structure-and-algorithms/blob/main/LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/ramanaditya/data-structure-and-algorithms.svg?logo=github)](https://github.com/ramanaditya/data-structure-and-algorithms/stargazers) \n[![GitHub forks](https://img.shields.io/github/forks/ramanaditya/data-structure-and-algorithms.svg?logo=github\u0026color=teal)](https://github.com/ramanaditya/data-structure-and-algorithms/network/members) \n[![GitHub top language](https://img.shields.io/github/languages/top/ramanaditya/data-structure-and-algorithms?color=blue\u0026logo=python)](https://github.com/ramanaditya/data-structure-and-algorithms/)\n[![Relative date](https://img.shields.io/date/1541894400?color=important\u0026label=started\u0026logo=github)](https://github.com/ramanaditya/) \n[![Maintenance](https://img.shields.io/maintenance/yes/2021?color=green\u0026logo=github)](https://github.com/ramanaditya/)\n\n\u003chr\u003e\n\n## Documentation\n[![Documentation Status](https://readthedocs.org/projects/interview-docs/badge/?version=latest)](https://interview-docs.readthedocs.io/en/latest/?badge=latest)\n\nThis is well documented and maintained at the `Read the Docs`. \n\nFollow the link [https://interview-docs.readthedocs.io](https://interview-docs.readthedocs.io) or click the image below to read the Complete Interview Docs\n\n[![](./images/read-the-docs.png)](https://interview-docs.readthedocs.io/)\n\n## Community\n[![Gitter](https://badges.gitter.im/data-structure-and-algorithms/community.svg)](https://gitter.im/data-structure-and-algorithms/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\n\u003ca href=\"https://gitter.im/data-structure-and-algorithms/community\"\u003e\u003cimg src=\"https://github.com/ramanaditya/data-structure-and-algorithms/blob/main/images/gitter.png\" width=\"20%\" align=\"left\"/\u003e\u003c/a\u003e\n\n### Gitter Community\nAll the discussions related to the **Interview** and **Data Structures and Algorithms** are discussed on the Gitter Community Channel.\n\nFollow the link [https://gitter.im/data-structure-and-algorithms/community](https://gitter.im/data-structure-and-algorithms/community) or click the Gitter Logo on the left to join the community\n\n\u003cbr\u003e\n\u003chr\u003e\n\n# Contents\n\n- ## [Data Structures](DataStructures)\n    - [Abstract Data Type](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/DataStructures#abstract-data-type)\n    - [Computational Complexity Analysis](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/DataStructures#computational-complexity-analysis)\n    - [Array](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/DataStructures/Array)\n    - [Linked List](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/DataStructures/LinkedList)\n    - [Tree](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/DataStructures/tree)\n    \n- ## [Algorithms](algorithms)\n    - ### Array\n        - [Boyer Moore Majority Vote Algorithm](https://github.com/ramanaditya/data-structure-and-algorithms/blob/main/algorithms/array/boyer-moore-majority-vote-algorithm.md)\n    - ### Linked List\n        - [Floyd's Tortoise and Hare](https://github.com/ramanaditya/data-structure-and-algorithms/blob/main/algorithms/LinkedList/floyds_tortoise_and_hare.py)\n    - ### Searching\n        - [Searching](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/algorithms/searching)\n    - ### Sorting\n        - [Sorting](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/algorithms/Sorting)\n    \n- ## [Interview Preparation](interview)\n    - [Interview Preparation](./interview/README.md)\n    - [Networking](./interview/networking.md)\n\n- ## Solution of Books\n    - [CLRS](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/CLRS)\n    - [Cracking the Coding Interview](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/cracking-the-coding-interview)\n    - [Elements of Programming Interviews]()\n\n- ## [Programming Languages](./languages)\n    - [Python](./languages/python)\n\n- ## Competitive Coding\n    - #### [Codechef](https://github.com/ramanaditya/data-structure-and-algorithms#abstract-data-type)\n\n      | [Cookoff](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/codechef#cook-off-2)  | [Long Challenge](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/codechef#long-challenge) |\n      | :----------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------: |\n      | [Easy](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/codechef#long-challenge) |                                                                                                                  |\n\n    - #### [Codezforces](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/codeforces)\n    \n        | [Div 2](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/codeforces#div-2) | [Div 3](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/codeforces#div-3) |\n        | :---: | :---: |\n        | [April Fools Day](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/codeforces#april-fools-day) | |\n        \n    - #### [HackerEarth](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/hackerearth)\n        \n        | [Circuits](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/hackerearth#circuits) | [CodeArena](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/hackerearth#codearena) |\n        | :---: | :---: |\n        \n    - #### [HackerRank](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/hackerrank)\n        - [Random Contest - 1](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/hackerrank#contest--mentorshipkarona-webinar-by-vinit-shahdeo)\n    - #### [Leetcode](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode)\n        \n        | | |\n        | :--- | :--- |\n        | [array](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#array) | [heap](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#heap) |\n        | [binary-search](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#binary-search) | [linked-list](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#linked-list) |\n        | [binary-search-tree](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#binary-search-tree) | [math](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#math) |\n        | [bit-manipulation](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#bit-manipulation) | [minimax](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#minimax) |\n        | [Contests](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#contests) | [mock](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#mock) |\n        | [databases](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#databases) | [Queue](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#Queue) |\n        | [Design](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#Design) | [sliding-window](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#Sliding-Window) |\n        | [dfs](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#dfs) | [stack](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#stack) |\n        | [Dynamic Programming](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#Dynamic-Programming) | [string](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#string) |\n        | [Geometry](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#Geomtry) | [tree](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#tree) |\n        | [greedy](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#greedy) | [two pointers](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#two-pointers) |\n        | [hash-table](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#hash-table) | |\n        | | |\n        | [LeetCode Discuss](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#leetcode-discuss) | |\n        | | |\n        | [April '20 Challenge](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#April-LeetCoding-Challenge--2020) | [May '20 Challenge](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#May-LeetCoding-Challenge--2020) |\n        | [June '20 Challenge](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#June-LeetCoding-Challenge--2020) | [July '20 Challenge](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#July-LeetCoding-Challenge--2020) |\n        | [August '20 Challenge](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#August-LeetCoding-Challenge--2020) | [September '20 Challenge](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#September-LeetCoding-Challenge--2020) |\n        | [November '20 Challenge](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#November-LeetCoding-Challenge--2020) | [January '21 Challenge](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#January-LeetCoding-Challenge--2021)  |\n        | [April '21 Challenge](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#April-LeetCoding-Challenge--2021) | [May '21 Challenge](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#May-LeetCoding-Challenge--2021) |\n        | [June '21 Challenge](https://github.com/ramanaditya/data-structure-and-algorithms/tree/main/leetcode#June-LeetCoding-Challenge--2021) | |\n        \n## Resources\n\n#### Books\n- [CLRS](https://mitpress.mit.edu/books/introduction-algorithms-third-edition)\n- [Cracking the Coding Interview](http://www.crackingthecodinginterview.com/)\n- [Elements of Programming Interviews](https://elementsofprogramminginterviews.com/)\n\n#### Competitive Coding\n- [Codechef](https://www.codechef.com/)\n- [Codeforces](https://codeforces.com/)\n- [HackerEarth](https://www.hackerearth.com/challenges/)\n- [HackerRank](https://www.hackerrank.com/)\n- [Leetcode](https://leetcode.com/)\n\n#### Online Study Materials\n- [Free Code Camp](https://www.freecodecamp.org/)\n- [GeeksforGeeks](https://www.geeksforgeeks.org/)\n\n\u003chr\u003e\n\n## Issues\n[![GitHub issues](https://img.shields.io/github/issues/ramanaditya/data-structure-and-algorithms?logo=github)](https://github.com/ramanaditya/data-structure-and-algorithms/issues)\n[![GitHub last commit](https://img.shields.io/github/last-commit/ramanaditya/data-structure-and-algorithms?logo=github)](https://github.com/ramanaditya/data-structure-and-algorithms/)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr-raw/ramanaditya/data-structure-and-algorithms?logo=git\u0026logoColor=white)](https://github.com/ramanaditya/data-structure-and-algorithms/compare)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr-closed-raw/ramanaditya/data-structure-and-algorithms?logo=git\u0026logoColor=white)](https://github.com/ramanaditya/data-structure-and-algorithms/pulls?q=is%3Apr+is%3Aclosed)\n\n\u003e 1. Graph Algorithm\n\u003e 2. Solutions of CLRS\n\u003e 3. String Algorithms\n\u003e\n\n**NOTE**: **Feel free to [open issues](https://github.com/ramanaditya/data-structure-and-algorithms/issues/new/choose)**. Make sure you follow the Issue Template provided.\n\n## Contribution Guidelines\n[![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/ramanaditya/data-structure-and-algorithms?logo=github)](https://github.com/ramanaditya/data-structure-and-algorithms/) \n[![GitHub commit activity](https://img.shields.io/github/commit-activity/m/ramanaditya/data-structure-and-algorithms?color=blue\u0026logo=github)](https://github.com/ramanaditya/data-structure-and-algorithms/commits/) \n[![GitHub repo size](https://img.shields.io/github/repo-size/ramanaditya/data-structure-and-algorithms?logo=github)](https://github.com/ramanaditya/data-structure-and-algorithms/)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat\u0026logo=git\u0026logoColor=white)](https://github.com/ramanaditya/data-structure-and-algorithms/pulls)\n\n- Write clear meaningful git commit messages (Do read [this](http://chris.beams.io/posts/git-commit/)).\n\n- Make sure your PR's description contains GitHub's special keyword references that automatically close the related issue when the PR is merged. (Check [this](https://github.com/blog/1506-closing-issues-via-pull-requests) for more info)\n\n- When you make very very minor changes to a PR of yours (like for example fixing a text in button, minor changes requested by reviewers) make sure you squash your commits afterward so that you don't have an absurd number of commits for a very small fix. (Learn how to squash at [here](https://davidwalsh.name/squash-commits-git))\n\n- When you're submitting a PR for a UI-related issue, it would be really awesome if you add a screenshot of your change or a link to a deployment where it can be tested out along with your PR. It makes it very easy for the reviewers and you'll also get reviews quicker.\n\n- Please follow the [PR Template](https://github.com/ramanaditya/data-structure-and-algorithms/blob/main/.github/PULL_REQUEST_TEMPLATE.md) to create the PR.\n\n- Always open PR to `develop` branch.\n\n- Please read our [Code of Conduct](./CODE_OF_CONDUCT.md).\n\n- Refer [this](https://github.com/ramanaditya/data-structure-and-algorithms/blob/main/CONTRIBUTING.md) for more.\n\n## Contributor\n[![GitHub contributors](https://img.shields.io/github/contributors/ramanaditya/data-structure-and-algorithms?logo=github)](https://github.com/ramanaditya/data-structure-and-algorithms/graphs/contributors)\n\n[![](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/images/0)](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/links/0)\n[![](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/images/1)](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/links/1)\n[![](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/images/2)](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/links/2)\n[![](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/images/3)](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/links/3)\n[![](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/images/4)](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/links/4)\n[![](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/images/5)](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/links/5)\n[![](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/images/6)](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/links/6)\n[![](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/images/7)](https://sourcerer.io/fame/ramanaditya/ramanaditya/data-structure-and-algorithms/links/7)\n\n- **Aditya Raman** : [www.ramanaditya.com](http://www.ramanaditya.com)\n    - LinkedIn : [https://www.linkedin.com/in/ramanaditya/](https://www.linkedin.com/in/ramanaditya/)\n    - GitHub : [https://github.com/ramanaditya](https://github.com/ramanaditya)\n    - LeetCode : [https://leetcode.com/ramanaditya/](https://leetcode.com/ramanaditya/)\n    - CodeChef : [https://www.codechef.com/users/ramanaditya](https://www.codechef.com/users/ramanaditya)\n    - HackerEarth : [https://www.hackerearth.com/@ramanaditya](https://www.hackerearth.com/@ramanaditya)\n    - HackerRank : [https://www.hackerrank.com/ramanaditya](https://www.hackerrank.com/ramanaditya)\n\n\u003e If you like this [repository](https://github.com/ramanaditya/data-structure-and-algorithms), support it by star :star2:\n\n|                                                                               Community                                                                               |                                                                                 Documentation                                                                                 |                                                                                         Source Code                                                                                         |\n|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|\n| [![Gitter Logo](https://github.com/ramanaditya/data-structure-and-algorithms/blob/main/images/gitter.png)](https://gitter.im/data-structure-and-algorithms/community) | \u003ca href=\"https://interview-docs.readthedocs.io\"\u003e\u003cimg src=\"https://github.com/ramanaditya/data-structure-and-algorithms/blob/main/images/read-the-docs.png\" width=\"85%\" /\u003e\u003c/a\u003e | \u003ca href=\"https://github.com/ramanaditya/data-structure-and-algorithms\"\u003e\u003cimg src=\"https://github.com/ramanaditya/data-structure-and-algorithms/blob/main/images/github.png\" width=\"40%\"\u003e\u003c/a\u003e |\n|                                                                              **Gitter**                                                                               |                                                                               **Read the Docs**                                                                               |                                                                                         **GitHub**                                                                                          |\n|                                                 [Join Now](https://gitter.im/data-structure-and-algorithms/community)                                                 |                                                            [Read the Docs](https://interview-docs.readthedocs.io/)                                                            |                                                          [View Code](https://github.com/ramanaditya/data-structure-and-algorithms)                                                          |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framanaditya%2Fdata-structure-and-algorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Framanaditya%2Fdata-structure-and-algorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framanaditya%2Fdata-structure-and-algorithms/lists"}