Git Product home page Git Product logo

neoalgo's Introduction


PRs Welcome GitHub pull requests GitHub issues Github All Contributors

Overview

The goal of this project is to have in a single place for all possible algorithms and data structures - in multiple languages. We aim to achieve this collaboratively, so feel free to contribute in any way you want, just make sure to follow the contribution guidelines listed below.

Contents

Our content is divided by programming language. Please create an issue if you wish to add code in a language that we don't currently have here. Do not create folders in your submissions unless specifically told to do so.

Also, we are accepting submissions to our Wiki section. Please let us know if you'd like to contribute to an article.

Contributing Guidelines

  • Plagiarism is strictly not allowed. Any work that is found to be suspicious of plagiarized work will not be merged.
  • Issues will be assigned on a first come, first serve basis. You just have to comment on the issue, asking to be assigned, and it will be done if found fit.
  • Preferably, you cannot work on any issue that is not assigned to you.
  • In case you want to submit an improvement to an existing algorithm, we prefer that you create an issue, describing in detail your improvement. This will help others to analyze your contribution. You can use the templates that we have provided :)
  • If you have anything else in mind, create an issue, and please wait for it to be assigned to you. You can then start working on it and create a PR.
  • All PRs must be made from a Branch. Create a separate branch for every Issue you are working upon and once found fit, make a PR.
  • If you have no idea what are issues or PRs, please do refer to this link

Make sure your code works before submitting it :D

Where to upload the files

PLEASE READ THIS

  • Your files should be uploaded directly into the corresponding folder (e.g. if you wrote code for a Data Structure in Python, it goes inside the DS folder within the Python folder and so on)
  • Edit the corresponding README.md file to add the link to your code in the corresponding section (GitHub Markdown Guide)
  • Under no circumstances create new folders within the language folders to upload your code unless specifically told to do so.
  • Also, be polite with the reviewers - they will be ALWAYS polite to you.

Our Contributors

CONTRIBUTORS.md

Code of Conduct

You can find our Code of Conduct here.

License

This project follows the MIT License.

Discord

Discord

neoalgo's People

Contributors

aaadddiii avatar ag278 avatar allcontributors[bot] avatar ankitaggarwal23 avatar anshmishra010 avatar anushkrishnav avatar atarax665 avatar bhav09 avatar charlie219 avatar erzatitania-2001 avatar fomalhauting avatar gayatri517 avatar harikrishnan6336 avatar harshcasper avatar iamrajiv avatar jayantgoel001 avatar msufiyanag avatar narayan2111 avatar nidh-ish avatar nutanaarohi123 avatar raiyanmahin avatar ricardoprins avatar ritvij14 avatar rutujadhanawade avatar salonishah01 avatar sangeetamishra avatar siddharth25pandey avatar soumikbaithalu avatar sukritidawar avatar yash01009 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

neoalgo's Issues

Adaptive Shivers sort implementation (New sorting published in research paper)

Algorithm: Adaptive Shivers sort

We present a new sorting algorithm, called adaptive ShiversSort, that exploits the existence of monotonic runs for sorting efficiently partially sorted data. This algorithm is a variant of the well-known algorithm TimSort, which is the sorting algorithm used in standard libraries of programming languages such as Python or Java (for non-primitive types). More precisely, adaptive ShiversSort is a so-called k-aware merge-sort algorithm, a class that was introduced by Buss and Knop that captures “TimSort-like” algorithms.

*Algorithm 1 of Adaptive Shiver sort
*Algorithm 2 of Adaptive Shiver sort

DS: Stack

Languages Supported:C,C++,C#,python.java,go,dart

Tim sort implementation

Algorithm: Tim sort

Tim sort is a hybrid stable sorting algorithm, derived from merge sort and insertion sort, designed to perform well on many kinds of real-world data. It was implemented by Tim Peters in 2002 for use in the Python programming language. The algorithm finds sub-sequences of the data that are already ordered (runs) and uses them to sort the remainder more efficiently. This is done by merging runs until certain criteria are fulfilled.

Languages Supported:

Sieve of Eratosthenes method, for computing prime number

Algorithm:
In mathematics, the sieve of Eratosthenes is an ancient algorithm for finding all prime numbers up to any given limit.

It does so by iteratively marking as composite (i.e., not prime) the multiples of each prime, starting with the first prime number,

The multiples of a given prime are generated as a sequence of numbers starting from that prime, with a constant difference between them that is equal to that prime.

This is the sieve's key distinction from using trial division to sequentially test each candidate number for divisibility by each prime.

Languages Supported:
Python.

I would like to work on this issue using Python.

Implementation of Brick Sort/ Odd even sort

Algorithm: Implementation Of Brick Sort

an odd–even sort or odd–even transposition sort (also known as brick sort or parity sort) is a relatively simple sorting algorithm, developed originally for use on parallel processors with local interconnections. It is a comparison sort related to bubble sort, It is a comparison sort related to bubble sort, with which it shares many characteristics.

Languages Supported:

[ALGO/DS] Name : Adding a perceptron layer in Python

Algorithm:
A perceptron is a neural network unit (an artificial neuron) that does certain computations to detect features or business intelligence in the input data
Perceptron is a function that maps its input “x,” which is multiplied with the learned weight coefficient; an output value ”f(x)”is generated.

f(x)={1, wx+b>0
0, else

In the equation given above:

“w” = vector of real-valued weights

“b” = bias (an element that adjusts the boundary away from origin without any dependence on the input value)

“x” = vector of input x values

image

w0+w1x1+w2x2+w3x3+........+wnxn

Languages Supported:
Python.
I would like to work on this issue using Python.

Can Add Merge Sort

**Algorithm: MergeSort **

DS: Sorting

**Languages Supported: C, C++, Java, JavaScript, Python **

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.