Code Monkey home page Code Monkey logo

useful-algorithms's Introduction

useful-algorithms

A bunch of commonly used algorithms and hacks to make a programmer's life easier. The algorithms were mostly developed by JeanCHilger, Junior-16 and PauloGSC.

TODO

  • Sieve of Eratosthenes
  • Fenwick Tree
  • Segment Tree with Lazy
  • Union-Find Disjoint Set
  • Minimum Spanning Tree
  • Kuskal's Algorithm

Quick List

Superficial description of the contents of this repository.

  • data-structures: Useful and ordinary data structures, most found anywhere else.

    • trees: Trees data structures.
      • avl: AVL balanced tree implementation using C language;
      • bst: Binary Search Tree implementation using C language;
      • red-black(not complete): Red-Black balanced tree implementation using C language;
      • segment-tree: Segment Tree array-like implementation using C++ language;
  • dynamic-programming: Classical dynamic programming algorithms.

    • coin.cpp: C++ implementation for the coin chttps://github.com/JeanCHilger/useful-algorithms/tree/master/data-structureshange problem;
    • edit-distance.cpp: C++ implementation for the edit distance problem;
    • kadane.cpp: C++ implementation for the Kadane's algorithm (max sum for a contiguous subarray);
    • knapsack-bottom-up.cpp: C++ implementation for the knapsack problem, using the bottom-up approach;
    • knapsack.cpp: C++ implementation for the knapsack problem, using the top-down approach;
    • lis.cpp: C++ implementation for the Longest Increasing Subsequence problem;
    • longest-palindromic-subsequence.cpp: C++ implementation for the Longest Palindromic Subsequence problem;
    • longest-palindromic-substring.cpp: C++ implementation for the Longest Palindromic Substring problem;
    • max-subarray-sum.cpp: C++ implementation for the maximun sum of a subarray problem;
    • scs.cpp: C++ implementation for the Shortest Common Supersequence problem;
  • graphs: Classical algorithms on graphs.

    • bfs.cpp: C++ implementation of the Breadth-First Search traversal;
    • dfs.cpp: C++ implementation of the Depth-First Search traversal;
    • dijkstra.cpp: C++ implementation of the Dijkstra's algorithm;
  • problem-solving: Problems solved by JeanCHilger, Junior-16 and PauloGSC, from misc sources.

useful-algorithms's People

Contributors

arufonsekun avatar jeanchilger avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.