All Projects → peferron → Algo

peferron / Algo

Licence: mit
Algorithms and data structures implemented in Go, JS, TypeScript, Rust, and Swift.

Programming Languages

javascript
184084 projects - #8 most used programming language
go
31211 projects - #10 most used programming language
typescript
32286 projects
swift
15916 projects
rust
11053 projects

Projects that are alternatives of or similar to Algo

Algorithms
A collection of common algorithms and data structures implemented in java, c++, and python.
Stars: ✭ 142 (-18.39%)
Mutual labels:  algorithms, data-structures
Jupyter
Stars: ✭ 145 (-16.67%)
Mutual labels:  algorithms, data-structures
Coding Problems
Solutions for various coding/algorithmic problems and many useful resources for learning algorithms and data structures
Stars: ✭ 2,221 (+1176.44%)
Mutual labels:  algorithms, data-structures
19 udacity dsa
Data Structures & Algorithms Nanodegree Program from Udacity
Stars: ✭ 140 (-19.54%)
Mutual labels:  algorithms, data-structures
Embb
Embedded Multicore Building Blocks (EMB²): Library for parallel programming of embedded systems. Star us on GitHub? +1
Stars: ✭ 153 (-12.07%)
Mutual labels:  algorithms, data-structures
Interviews
A list of fancy questions I've been asked during the interviews I had. Some of them I ask when interviewing people.
Stars: ✭ 140 (-19.54%)
Mutual labels:  algorithms, data-structures
C Plus Plus
Collection of various algorithms in mathematics, machine learning, computer science and physics implemented in C++ for educational purposes.
Stars: ✭ 17,151 (+9756.9%)
Mutual labels:  algorithms, data-structures
Placement Preparation
Hello everyone, I have created this repository specifically for competitive questions and for placements preparation.
Stars: ✭ 137 (-21.26%)
Mutual labels:  algorithms, data-structures
Leetcode In Swift
My solutions to LeetCode problems written in Swift
Stars: ✭ 150 (-13.79%)
Mutual labels:  algorithms, data-structures
Data Structures And Algorithms
Data Structures and Algorithms implemented In Python, C, C++, Java or any other languages. Aimed to help strengthen the concepts of DS&A. Give a Star 🌟 if it helps you.
Stars: ✭ 146 (-16.09%)
Mutual labels:  algorithms, data-structures
Data Structures
Common data structures and algorithms implemented in JavaScript
Stars: ✭ 139 (-20.11%)
Mutual labels:  algorithms, data-structures
Algorithms Leetcode Javascript
Algorithms resolution in Javascript. Leetcode - Geeksforgeeks - Careercup
Stars: ✭ 157 (-9.77%)
Mutual labels:  algorithms, data-structures
You Dont Know X
🙈 curated list of inspiring resources which show you don't know that much about something you thought you knew.
Stars: ✭ 139 (-20.11%)
Mutual labels:  algorithms, data-structures
Sc
Common libraries and data structures for C.
Stars: ✭ 161 (-7.47%)
Mutual labels:  algorithms, data-structures
Leetcode Patterns
A curated list of leetcode questions grouped by their common patterns
Stars: ✭ 3,750 (+2055.17%)
Mutual labels:  algorithms, data-structures
Ultimate Java Resources
Java programming. All in one Java Resource for learning. Updated every day and up to date. All Algorithms and DS along with Development in Java. Beginner to Advanced. Join the Discord link.
Stars: ✭ 143 (-17.82%)
Mutual labels:  algorithms, data-structures
Important Java Concepts
🚀 Complete Java - A to Z ║ 📚 Notes and Programs of all Important Concepts of Java - OOPS, Data Structures, Algorithms, Design Patterns & Development + Kotlin + Android 🔥
Stars: ✭ 135 (-22.41%)
Mutual labels:  algorithms, data-structures
Dsa Geeksclasses
DSA-Self Paced With Doubt Assistance Course Solutions in Python (Python 3)
Stars: ✭ 137 (-21.26%)
Mutual labels:  algorithms, data-structures
Hackerrank
A collection of algorithms and solutions to problems in various languages from the site Hacker Rank.
Stars: ✭ 145 (-16.67%)
Mutual labels:  algorithms, data-structures
Pygm
🐍 Python library implementing sorted containers with state-of-the-art query performance and compressed memory usage
Stars: ✭ 156 (-10.34%)
Mutual labels:  algorithms, data-structures

algo Build Status

This is just me fooling around and implementing various algorithms and data structures in Go, JavaScript, TypeScript, Rust, and Swift.

Many of these problems appear in Steven Skiena's Algorithm Design Manual, which I heartily recommend.

Modules do not share code and use built-in language features only. This makes each module easiest to understand individually.

Disclaimers

  • These modules are optimized for readability instead of performance, and often do not achieve the best time or space complexities.
  • These modules are not very well-tested, and definitely not intended for production use. If you do it anyway, please share your post-mortem :)
  • I don't have much experience with Rust, so there might be simpler and cleaner ways to do things.
  • Some older TS modules do not use features introduced in TS 1.6+.
  • Generics are avoided in favor of concrete types for readability.

Test a Go module

Install Go. Then run:

$ ./test_go mergesort

(Replace mergesort with the name of the module of your choice.)

Test a JavaScript module

Install Node.js and run npm install. Then run:

$ ./test_javascript mergesort

Test a TypeScript module

Install Node.js and run npm install. Then run:

$ ./test_typescript biconnected_components

Test a Rust module

Install Rust. Then run:

$ ./test_rust edge_connectivity

Test a Swift module

Install Swift. Then run:

$ ./test_swift rotating_calipers

Test all modules and languages

Install all the language-specific requirements above. Then run:

$ ./test

Test a module automatically after each source code change

Install all the language-specific requirements above and install rerun. Then run:

$ ./watch mergesort

Contribute

Pull requests are welcome. Improvements to existing modules will be merged as soon as possible. Completely new modules will take longer—this repo is a learning exercise, so I'll try to solve the problem on my own before merging.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].