Solidity icon indicating copy to clipboard operation
Solidity copied to clipboard

Algorithms and data structures implemented in Solidity

The Algorithms - Solidity

Gitpod Ready-to-Code Contributions Welcome Discord chat Gitter chat Donate on Liberapay

All algorithms implemented in Solidity - for education

(still a work-in-progress project)

This is going to be used for our partnership with Dev Protocol. 🚀

Implementations are for learning purposes only. As they may be less secure than in real-world context, use them at your discretion.

Setting up foundry

Guide to installing foundry - https://book.getfoundry.sh/getting-started/installation
Clone the current project and enter the directory.

  git clone https://github.com/TheAlgorithms/Solidity.git
  cd Solidity

Installing forge-std (Forge Standard Library).

  forge install foundry-rs/forge-std 

Build the project using forge-std.

  forge build

Run forge-std automatic tests.

  # forge test --match-contract <contract-name>Test
  forge test --match-contract AbsTest

Lists of Algorithms

  • Algorithms
    • Maths
      • Abs
      • AddArray
      • AliquotSum
      • Area
      • Armstrong Number
      • Array Reversal
      • Average Mean
      • BinaryExponentiation
      • Divide Digit
      • Exponentiation
      • Factorial
      • Fibonacci
      • Lucas Series
      • Modulo
      • Multiply Array
      • Multiply Digit
      • Percentage
      • Perfect Square
      • Sub Digit
      • Sum Digit
      • String Matching
      • Volume
      • Zellers Congruence Algorithm
    • Dynamic Programming
      • Knapsack
    • Searches
      • Binary Search
      • Linear Search
    • Sorts
      • Bubble Sort
      • Merge Sort
      • Quick Sort
      • Selection Sort

Community Channels

We're on Discord and Gitter! Community channels are great for you to ask questions and get help. Please join us!