Algorithmsanddatastructures

A repository of neat algorithms and data structures with details on how to implement them and why they're useful.
Alternatives To Algorithmsanddatastructures
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Coding Interview University258,525
a day ago56cc-by-sa-4.0
A complete computer science study plan to become a software engineer.
Javascript Algorithms170,7092a day ago4June 02, 2018311mitJavaScript
📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
Fucking Algorithm116,280
a day ago325Markdown
刷算法全靠套路,认准 labuladong 就够了!English version supported! Crack LeetCode, not only how, but also why.
Interviews59,865
8 days ago113mitJava
Everything you need to know to get the job.
Java52,126
21 hours ago5mitJava
All Algorithms implemented in Java
Leetcode51,200
14 days ago6otherJavaScript
推荐免费ChatGPT网站:www.lintcode.com/chat-gpt?utm_source=tf-github-lucifer LeetCode Solutions: A Record of My Problem Solving Journey.( leetcode题解,记录自己的leetcode解题之路。)
Algorithm Visualizer42,745
a month ago58mitJavaScript
:fireworks:Interactive Online Platform that Visualizes Algorithms from Code
Interview28,732
a month ago17otherC++
📚 C/C++ 技术面试基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。This repository is a summary of the basic knowledge of recruiting job seekers and beginners in the direction of C/C++ technology, including language, program library, data structure, algorithm, system, network, link loading library, interview experience, recruitment, recommendation, etc.
Swift Algorithm Club27,689
a month ago61mitSwift
Algorithms and data structures in Swift, with explanations!
Javascript26,623
7 days ago39gpl-3.0JavaScript
Algorithms and Data Structures implemented in JavaScript for beginners, following best practices.
Alternatives To Algorithmsanddatastructures
Select To Compare


Alternative Project Comparisons
Readme

Algorithms and Datastructures

A repo for showing off cool and neat datastructures and algorithms. Either for the purpose of getting better at interviewing or just to learn more.

This repo will contain detailed examples of implementations, as well as reasons for what makes a particular algorithm better than another, or the advantages/disadvantages of different approaches.

I plan for this repo to become a resource for learning about algorthims and datastructures in a particle but also fun way.

I want anyone to be able to contribute and add more interesting algorithms/data structures as the repo grows. If you're interested in contributing, read the steps outlined here.

The code will be written using whatever language the writer prefers as the main purpose of this isn't about learning a specific programming language but about understanding the concepts behind the algorithms and data structures.

Table of Contents

String

Sorting

Linked-List

Stack

Graphs

Trees

Dynamic Programming

Contributing

How do I contribute?

We want to keep this project simple, but also organized. The way we plan to structure this repository is by having subdirectories of over-arching topics. For example, we have a String folder, this folder will contain algorithms/data structures related to strings. Each algorithm will be contained within it's own folder.

For example, if you were to add isPalindrome algorithm, this tends to be related to strings. Thus, you would first either create the String subfolder or if it's already there, skip this part. Then you would create a folder with the name of the algorithm no space. That is we would have this folder structure: String/isPalindrome/ inside of isPalindrome you would have the required two files, but you may have more. The two required files are README.md, and the source file which contains the code implementation.

What do I put in the README?

Simply put an explanation of the algorithm, pretend that the person reading it understands programming but has never seen/heard of the algorithm you are implementing. If you want to put a live demo as well you can share a link to a repl. Here is a good site for that: Repl.it.

Start the README with the name of the algorithm using header 2 ## markdown style, and then underneath use header 3 ### styling for the time/space complexity of the algorithm, if it's a datastructure you may feel free to skip the complexity calculation at the top. But you must describe the complexity of each function in the data structure.

What do I put in the source file?

For this one you can feel free to use whatever language you prefer, as this repo is meant to be language agnostic and more about the actual topics. Just please make sure you have a working implementation that's been tested. Also, try to write your code in a readable manner.

Just give me a checklist man, I hate reading...

  • [ ] Make sure directories are structured in a clean way, that is, Topic/algorithm/ example: String/isPalindrome/
  • [ ] Include a detailed README, take a loot at this for an example.
  • [ ] Include a source file with neat code.
  • [ ] Update this (main) README file with your changes, that is adding a link to the algorithm.
  • [ ] Create a pull request so we can merge your changes!
Popular Algorithms Projects
Popular Data Structure Projects
Popular Computer Science Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
C Plus Plus
Algorithms
Programming
Data Structures
Sort
Interview
Interview Questions
Interview Practice