Code Monkey home page Code Monkey logo

nwoc_algorithms's Introduction

nwoc_algorithms

This is a library of various algorithms that are used in competitive programming.

Combination Computation

combination_by_eluer_method.cppis a algorithm to compute the combinations of large numbers. Since in competitive programming we often deal with large numbers so computing combination becomes difficult therefore Eluer method provide an easy and fast way to compute nCr%1000000007 of big numbers.

Detecting cycles in Graph

cycle_in_directed_graph.cpp and cycle_in_undirected_graph.cpp are two algorithms which detect cycles in a graph by DFS algorithm.

sample algorithm

disjoint_set_union.cpp

Backtracking Algorithms

Hamiltonian Cycle
M Coloring Problem
N Queen Problem
Rat in a Maze
Sudoku

Bellman Ford Algorithm

Bellman Ford Algorithm

Circular Queue

Circular Queue

Graphs

Breadth First Search
Depth First Search
Detect Cycle in Undirected Graph
Dijkstra
Kruskal

Greedy Algorithm

Egyptian Fraction

Kadane Algorithm

Kadane Algorithm

Last Men Standing

Last Men Standing

Prims Algorithm

Prims Algorithm

Sample algorithm

disjoint set union
Floyd cycle detection

Searching Algorithms

Binary Search
Jump Search
Linear Search

Graph Algorithm

breadth first search
Depth first Search

Sorting algorithm

Bubble Sort
Heap Sort
Insertion Sort
Selection Sort
Shell Sort Merge Sort
Radix Sort
Selection Sort

Stacks

Implementation
Infix to Postfix
Postfix

Strings

Substitution Cipher

String Hashing

Count Substring
Rabin Karp Algorithm
Manacher Algorithm
Z Algorithm

Tower Of Hanoi

Tower of Hanoi

nwoc_algorithms's People

Contributors

abhishek-kumar09 avatar abhishekchopra13 avatar adixcodr avatar akashksinghal avatar alpha74 avatar ashiscs avatar axshivam avatar bhavnaharitsa avatar chanmol1999 avatar dheerajkotwani avatar dips2705 avatar ghostmk avatar ivaibhavjindal avatar jainajagad avatar janish1999 avatar lord-of-codes avatar mahmoudmabrok avatar mohitmo avatar namanvats avatar nikitashaw13 avatar parjanyaacoder avatar sarthakeddy avatar sgpritam avatar subhojit-kumar-saha avatar subhradeepss avatar sumangrewal avatar tanmay211 avatar vanshita25 avatar vishal-bhola avatar yashagarwal1999 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

nwoc_algorithms's Issues

String Hashing applications.(C++)

Based on hash calculation of substring.

  1. Pattern matching in a string in O(n) time (Rabin-Karp ).
  2. Calculating the number of different substrings of a string in O(n2 logn).
  3. Finding all sub-palindromes in O(N) .

Broken link

Broken link of disjoint_set_union.cpp link on contributing.md page.

Broken links

For example, on the README.md page, links pointing to some of the sample algorithms doesn't take the user there.

Working on this.

Update readme

The link to Substitution Cipher is broken in readme and newer inclusions are not present.

String Hashing (C++)

Based on hash calculation of string.

1 .Calculation of hash (polynomial rolling hash function).
2 .Using hash calculated to Search for duplicate strings in an array of strings in O(nm+nlogn) time.

Update README

It's not looking good. It needs to have some styling to make it attractive.

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.