All Projects → williamfiset → Algorithms

williamfiset / Algorithms

Licence: mit
A collection of algorithms and data structures

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Algorithms

Data structure and algorithms library
A collection of classical algorithms and data-structures implementation in C++ for coding interview and competitive programming
Stars: ✭ 133 (-98.85%)
Mutual labels:  algorithm, algorithms, sorting-algorithms, dynamic-programming, mathematics
Algods
Implementation of Algorithms and Data Structures, Problems and Solutions
Stars: ✭ 3,295 (-71.48%)
Mutual labels:  algorithms, sorting-algorithms, dynamic-programming, search-algorithm, dijkstra
Data Structures Algorithms
My implementation of 85+ popular data structures and algorithms and interview questions in Python 3 and C++
Stars: ✭ 273 (-97.64%)
Mutual labels:  algorithm, dynamic-programming, mathematics, strings
Algodeck
An Open-Source Collection of 200+ Algorithmic Flash Cards to Help you Preparing your Algorithm & Data Structure Interview 💯
Stars: ✭ 4,441 (-61.56%)
Mutual labels:  algorithm, algorithms, sorting-algorithms, dynamic-programming
Cracking The Coding Interview
📚 C++ and Python solutions with automated tests for Cracking the Coding Interview 6th Edition.
Stars: ✭ 396 (-96.57%)
Mutual labels:  algorithms, sorting-algorithms, dynamic-programming, strings
Algorithm Notes
Comprehensive algorithms solution to help engineers prepare their interviews and future study
Stars: ✭ 44 (-99.62%)
Mutual labels:  algorithms, sorting-algorithms, dynamic-programming, search-algorithm
Leetcode Go
✅ Solutions to LeetCode by Go, 100% test coverage, runtime beats 100% / LeetCode 题解
Stars: ✭ 22,440 (+94.24%)
Mutual labels:  algorithm, algorithms, dynamic-programming
Towel
Throw in the towel.
Stars: ✭ 333 (-97.12%)
Mutual labels:  algorithm, algorithms, mathematics
Ojalgo
oj! Algorithms
Stars: ✭ 336 (-97.09%)
Mutual labels:  algorithm, algorithms, linear-algebra
Algorithms Primer
A consolidated collection of resources for you to learn and understand algorithms and data structures easily.
Stars: ✭ 381 (-96.7%)
Mutual labels:  algorithm, sorting-algorithms, dynamic-programming
Awesome-Math-Learning
📜 Collection of the most awesome Math learning resources in the form of notes, videos and cheatsheets.
Stars: ✭ 73 (-99.37%)
Mutual labels:  linear-algebra, mathematics, graph-theory
Competitive Programming Repository
Competitive Programming templates that I used during the past few years.
Stars: ✭ 367 (-96.82%)
Mutual labels:  algorithms, dynamic-programming, dijkstra
D3graphtheory
💥 Interactive and colorful 🎨 graph theory tutorials made using d3.js ⚡️
Stars: ✭ 1,364 (-88.19%)
Mutual labels:  algorithms, graph-theory, mathematics
Machine Learning Curriculum
Complete path for a beginner to become a Machine Learning Scientist!
Stars: ✭ 279 (-97.59%)
Mutual labels:  algorithm, mathematics, linear-algebra
Mather
zzllrr mather(an offline tool for Math learning, education and research)小乐数学,离线可用的数学学习(自学或教学)、研究辅助工具。计划覆盖数学全部学科的解题、作图、演示、探索工具箱。目前是演示Demo版(抛转引玉),但已经支持数学公式编辑显示,部分作图功能,部分学科,如线性代数、离散数学的部分解题功能。最终目标是推动专业数学家、编程专家、教育工作者、科普工作者共同打造出更加专业级的Mather数学工具
Stars: ✭ 270 (-97.66%)
Mutual labels:  mathematics, geometry, linear-algebra
Algorithms
CLRS study. Codes are written with golang.
Stars: ✭ 482 (-95.83%)
Mutual labels:  algorithm, algorithms, dynamic-programming
C Sharp Algorithms
📚 📈 Plug-and-play class-library project of standard Data Structures and Algorithms in C#
Stars: ✭ 4,684 (-59.46%)
Mutual labels:  algorithms, sorting-algorithms, tree-algorithms
Algorithms
A repository of different Algorithms and Data Structures implemented in many programming languages.
Stars: ✭ 578 (-95%)
Mutual labels:  algorithms, dynamic-programming, mathematics
kaliningraph
🕸️ Graphs, finite fields and discrete dynamical systems in Kotlin
Stars: ✭ 62 (-99.46%)
Mutual labels:  linear-algebra, graph-theory, adjacency-matrix
Data-Structures-Algorithms-Handbook
A series of important questions with solutions to crack the coding interview and ace it!
Stars: ✭ 30 (-99.74%)
Mutual labels:  strings, sorting-algorithms, dynamic-programming

License: MIT Java CI with Gradle README Checker Donate

Algorithms & data structures project

Algorithms and data structures are fundamental to efficient code and good software design. Creating and designing excellent algorithms is required for being an exemplary programmer. This repository's goal is to demonstrate how to correctly implement common data structures and algorithms in the simplest and most elegant ways.

Contributing

This repository is contribution friendly 😃. If you'd like to add or improve an algorithm, your contribution is welcome! Please be sure to checkout the Wiki for instructions.

Other programming languages?

This repository provides algorithm implementations in Java, however there are other forks that provide implementations in other languages, most notably:

Running an algorithm implementation

To compile and run any of the algorithms here, you need at least JDK version 8. Gradle can make things more convenient for you, but it is not required.

Running with Gradle (recommended)

This project supports the Gradle Wrapper. The Gradle wrapper automatically downloads Gradle at the first time it runs, so expect a delay when running the first command below.

If you are on Windows, use gradlew.bat instead of ./gradlew below.

Run a single algorithm like this:

./gradlew run -Palgorithm=<algorithm-subpackage>.<algorithm-class>

Alternatively, you can run a single algorithm specifying the full class name

./gradlew run -Pmain=<algorithm-fully-qualified-class-name>

For instance:

./gradlew run -Palgorithm=search.BinarySearch

or

./gradlew run -Pmain=com.williamfiset.algorithms.search.BinarySearch

Compiling and running with only a JDK

Create a classes folder

cd Algorithms
mkdir classes

Compile the algorithm

javac -sourcepath src/main/java -d classes src/main/java/ <relative-path-to-java-source-file>

Run the algorithm

java -cp classes <class-fully-qualified-name>

Example

$ javac -d classes -sourcepath src/main/java src/main/java/com/williamfiset/algorithms/search/BinarySearch.java
$ java -cp classes com.williamfiset.algorithms.search.BinarySearch

Data Structures

Dynamic Programming

Dynamic Programming Classics

Dynamic Programming Problem Examples

Adhoc

Tiling problems

Geometry

Graph theory

Tree algorithms

Network flow

Main graph theory algorithms

Linear algebra

Mathematics

Other

Search algorithms

Sorting algorithms

String algorithms

License

This repository is released under the MIT license. In short, this means you are free to use this software in any personal, open-source or commercial projects. Attribution is optional but appreciated.

Donate

Consider donating to support my creation of educational content:

paypal

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].