diff --git a/readme.md b/readme.md index 8f92e67b..4d908eda 100644 --- a/readme.md +++ b/readme.md @@ -1,418 +1 @@ -We are accepting all pull requests. [Read More](https://github.com/AllAlgorithms/algorithms/issues/40) - -
-
-
-
-
- Algorithms Logo -
-
-
-
-
-
- -

- What is an algorithm?    - Contributing    - Stickers & T-Shirts -

- - -

- - Twitter -    - - Instagram -    - - Github -    -

- -
-

- Huge collection of All â–²lgorithms implemented in multiple languages -

-
- - - - - - -
- -## See - -- [What is an algorithm](#what-is-an-algorithm) -- [Contributing](https://github.com/AllAlgorithms/algorithms/blob/master/.github/contributing.md) -- [Code of Conduct](https://github.com/AllAlgorithms/algorithms/blob/master/.github/code-of-conduct.md) -- [Stickers and T-Shirts](https://www.redbubble.com/people/abranhe/works/34285088) -- [Twitter](https://twitter.com/AllAlgorithms) -- [Instagram](https://instagram.com/AllAlgorithms) -- [Algorithms Categories](#categories) -- [Maintainers](#maintainers) -- [License](#license) - - -## What is an algorithm? - -Informally, an algorithm is any well-defined computational procedure that takes -some value, or set of values, as input and produces some value, or set of values, as -output. An algorithm is thus a sequence of computational steps that transform the -input into the output. - -An algorithm should have three important characteristics to be considered valid: - -- **It should be finite**: If your algorithm never ends trying to solve the problem -it was designed to solve then it is useless -- **It should have well defined instructions**: Each step of the algorithm has to -be precisely defined; the instructions should be unambiguously specified for each case. -- **It should be effective**: The algorithm should solve the problem it was designed -to solve. And it should be possible to demonstrate that the algorithm converges with -just a paper and pencil. - -## Categories - -> Structure of The All â–²lgoritms project - -- [Artificial Intelligence](#artificial-intelligence) -- [Backtracking](#backtracking) -- [Bit Manipulation](#bit-manipulation) -- [Cellular Automaton](#cellular-automaton) -- [Ciphers](#ciphers) -- [Computational Geometry](#computational-geometry) -- [Cryptography](#cryptography) -- [Data Structures](#data-structures) -- [Divide and conquer](#divide-and-conquer) -- [Dynamic Programming](#dynamic-programming) -- [Gaming Theory](#gaming-theory) -- [Graphs](#graphs) -- [Greedy Algorithms](#greedy-algorithms) -- [Math](#math) -- [Networking](#networking) -- [Numerical Analysis](#numerical-analysis) -- [Operating system](#operating-system) -- [Randomized Algorithms](#randomized-algorithms) -- [Searches](#searches) -- [Selections Algorithms](#selections-algorithms) -- [Sorting](#sorting) -- [Strings](#strings) -- [Online Challenges](#online-challenges) -- [Others](#others) - -## [Artificial Intelligence](artificial-intelligence) - -- [Density-based spatial clustering of applications with noise (DBSCAN Clustering)](https://allalgorithms.com/docs/dbscan) -- [Interactive Self-Organizing Data Analysis Technique yAy! (ISODATA Clustering)](https://allalgorithms.com/docs/isodata) -- [Linear Regression](https://allalgorithms.com/docs/linear-regression) -- [Logistic Regression](https://allalgorithms.com/docs/logistic-regression) -- [Neutral Style Transfer](https://allalgorithms.com/docs/neutral-style-transfer) -- [SATisfiable (SAT)](https://allalgorithms.com/docs/sat) -- [Travelling salesman problem (TSP)](https://allalgorithms.com/docs/tsp) -- [A* (A Star)](https://allalgorithms.com/docs/a-star) -- [Artificial Neutral Network](https://allalgorithms.com/docs/artificial-neutral-network) -- [Convolutional Neutral Network](https://allalgorithms.com/docs/convolutional-neutral-network) -- [Decision Tree](https://allalgorithms.com/docs/decision-tree) -- [Factorization Machines](https://allalgorithms.com/docs/factorization-machines) -- [Gaussian Mixture Model](https://allalgorithms.com/docs/gaussian-mixtrue-model) -- [Gradient Boosting Trees](https://allalgorithms.com/docs/gradient-boostring-trees) -- [Hierachical Clustering](https://allalgorithms.com/docs/hierachical-clustering) -- [Image Processing](https://allalgorithms.com/docs/image-processing) -- [K Nearest Neighbors](https://allalgorithms.com/docs/k-nearest-neighbors) -- [K Means](https://allalgorithms.com/docs/k-means) -- [Minimax](https://allalgorithms.com/docs/minimax) -- [Native Bayes](https://allalgorithms.com/docs/native-bayes) -- [Nearest Sequence Memory](https://allalgorithms.com/docs/nearest-sequence-memory) -- [Neutral Network](https://allalgorithms.com/docs/neutral-network) -- [Perceptron](https://allalgorithms.com/docs/perceptron) -- [Principal Component Analysis](https://allalgorithms.com/docs/principal-component-analysis) -- [Q Learing](https://allalgorithms.com/docs/q-learning) -- [Random Forests](https://allalgorithms.com/docs/random-forest) -- [Restricted Boltzman Machine](https://allalgorithms.com/docs/restricted-boltzman-machine) - -## [Backtracking](backtracking) - -- [Algorithm X](backtracking/algorithm-x) -- [Crossword Puzzle](backtracking/crossword-Puzzle) -- [Knight Tour](backtracking/knight-tour) -- [M Coloring Problem](backtracking/m-coloring-problem) -- [N Queen](backtracking/n-queen) -- [Number of ways in Maze](backtracking/number-of-ways-in-maze) -- [Partitions of set](backtracking/partitions-of-set) -- [Permutation of Strings](backtracking/permutation-of-strings) -- [Powerset](backtracking/powerset) -- [Rat in maze](backtracking/rat-in-maze) -- [Subset Sum](backtracking/subset-sum) -- [Sudoku Solve](backtracking/sudoku-solve) - -## [Bit Manipulation](bit-manipulation) - -- [Addition using bits](bit-manipulation/adding-using-bits) -- [Bit divisor](bit-manipulation/bit-divisor) -- [Byte swapper](bit-manipulation/byte-swapper) -- [Convert numbers to binary](bit-manipulation/convert-numbers-to-binary) -- [Count set bits](bit-manipulation/count-set-bits) -- [Flip bits](bit-manipulation/flip-bits) -- [Hamming distance](bit-manipulation/hamming-distace) -- [Invert bit](bit-manipulation/invert-bit) -- [Lonely integer](bit-manipulation/lonely-integer) -- [Magic Number](bit-manipulation/magic-number) -- [Maximum XOR Value](bit-manipulation/maximun-xor-value) -- [Power of 2](bit-manipulation/power-of-2) -- [Subset Generation](bit-manipulation/subset-generation) -- [Sum binary numbers](bit-manipulation/sum-binary-numbers) -- [Sum equals XOR](bit-manipulation/sum-equals-xor) -- [Thrice unique number](bit-manipulation/thrice-unique-number) -- [Twice unique number](bit-manipulation/twice-unique-number) -- [XOR Swap](bit-manipulation/xor-swap) - -## [Cellular Automaton](cellular-automaton) - -- [Brians Brain](cellular-automaton/brians-brain) -- [Conways Game of life](cellular-automaton/conways-game-of-life) -- [Elementary Cellular Automata](cellular-automaton/elementary-cellular-automata) -- [Generic Algorithm](cellular-automaton/generic-algorithm) -- [Langtons Ant](cellular-automaton/langtons-ant) -- [Nobili Cellular Automata](cellular-automaton/nobili-cellular-automata) -- [Von Neoumann Cellular Automata](cellular-automaton/von-neoumann-cellular-automata) - -## [Computational Geometry](computational-geometry) - -- [2D Line intersection](computational-geometry/) -- [2D Separating Axis test](computational-geometry/) -- [Area of polygon](computational-geometry/) -- [Area of triangle](computational-geometry/) -- [Axis aligned bounding box collision](computational-geometry/) -- [Bresenham Line](computational-geometry/) -- [Chans Algorithm](computational-geometry/) -- [Cohen Sutherland Lineclip](computational-geometry/) -- [Distance between points](computational-geometry/) -- [Graham Scan](computational-geometry/) -- [Halfplane intersection](computational-geometry/) -- [Jarvis March](computational-geometry/) -- [Quickull](computational-geometry/) -- [Sphere tetrahedron intersection](computational-geometry/) -- [Sutherland Hodgeman clipping](computational-geometry/) - -## [Cryptography](cryptography) - -- [Affine Cipher](cryptography/) -- [Atbash Cipher](cryptography/) -- [Autokey Cipher](cryptography/) -- [Baconian Cipher](cryptography/) -- [Caesar Cipher](cryptography/) -- [Colummnar Cipher](cryptography/) -- [Vigenere Cipher](cryptography/) - -## [Data Structures](data-structures) - -- [Bag](data-structures/bag/) -- [Hashes](data-structures/hashes/) -- [Linked List](data-structures/linked-list/) -- [List](data-structures/list/) -- [Queue](data-structures/queue/) -- [Stack](data-structures/stack/) -- [Tree](data-structures/tree/) - -## [Divide and conquer](divide-and-conquer) - -- [Strassen Matrix Manipulation](divide-and-conquer/) -- [Closest Pair of Point](divide-and-conquer/) -- [Inversion Count](divide-and-conquer/) -- [Karatsuba Multiplication](divide-and-conquer/) -- [Maximum Contiguous subsequence sum](divide-and-conquer/) -- [Merge Sort using divide and conquer](divide-and-conquer/) -- [Quick Sort using divide and conquer](divide-and-conquer/) -- [Tournament Method to find min max](divide-and-conquer/) -- [Warnock Algorithm](divide-and-conquer/) -- [X Power Y](divide-and-conquer/) - -## [Dynamic Programming](dynamic-programming) - -- [Array Median](dynamic-programming) -- [Optima Binary Search Tree](dynamic-programming) -- [Binomial Coefficient](dynamic-programming) - -## [Gaming Theory](gaming-theory) - -- [Nim Next Best Move Game](gaming-theory/) -- [Nim Win Loss Game](gaming-theory/) -- [Grundy Numbers Kayle Game](gaming-theory/) - -## [Graphs](graphs) - -- [Bipartite Check](graphs/) -- [Adjacency Lists graphs representation](graphs/) -- [A* (A Star)](https://allalgorithms.com/docs/a-star) - -## [Greedy Algorithms](greedy-algorithms) - -- [Activity Selection](greedy-algorithms) -- [Dijkstra Shortest Path](greedy-algorithms) -- [Egyptian Fraction](greedy-algorithms) - -## [Math](math) - -- [2 Sum](math/) -- [Add Polynomials](math/) -- [Amicable Numbers](math/) -- [Armstrong Numbers](math/) -- [Automorphic Numbers](math/) -- [Average Stream Numbers](math/) -- [Babylonian Method](math/) -- [Binomial Coefficient](math/) -- [Catalan Number](math/) -- [Check is Square](math/) -- [Convolution](math/) -- [Coprime Numbers](math/) -- [Count Digits](math/) -- [Count Trailing Zeroes](math/) -- [Decoding of String](math/) -- [Delannoy Number](math/) -- [Derangements](math/) -- [DFA Division](math/) -- [Diophantine](math/) -- [Divided Differences](math/) -- [Euler Totient](math/) -- [Exponentiation Power](math/) -- [Factorial](math/factorial) -- [Fast Fourier transform](math/) -- [Fast inverse (sqrt) Square Root](math/) - -## [Networking](networking) - -- [Packet Sniffer](networking/) -- [Determine Endianess](networking/) -- [Validate IP](networking/) - -## [Numerical Analysis](numerical-analysis) - -- [Integral](numerical-analysis/integral) -- [Monte Carlo](numerical-analysis/monte-carlo) -- [Runge Kutt](numerical-analysis/runge-kutt) - -## [Operating system](operating-system) - -- [Currency](operating-system/) -- [Deadlocks](operating-system/) -- [Memory Management](operating-system/) -- [Scheduling](operating-system/) -- [Shell](operating-system/) - -## [Randomized Algorithms](randomized-algorithms) - -- [Birthday Paradox](randomized-algorithms) -- [Karger Minimum Cut Algorithm](randomized-algorithms) -- [Kth Smallest Element Algorithm](randomized-algorithms) -- [Random from Stream](randomized-algorithms) -- [Random Node Linked list](randomized-algorithms) -- [Randomized Quicksort](randomized-algorithms) -- [Reservoir Sampling](randomized-algorithms) -- [Shuffle an Array](randomized-algorithms) - -## [Searches](searches) - -- [Binary Search](searches) -- [Exponential Search](searches) -- [Fibonacci Search](searches) -- [Fuzzy Search](searches) -- [Interpolation Search](searches) -- [Jump Search](searches) -- [Linear Search](searches) -- [Ternay Search](searches) -- [Jump Search](searches) -- [Fibonacci Search](searches) - -## [Selections Algorithms](selections-algorithms) - -- [Median of Medians](selections-algorithms) -- [Quick Select](selections-algorithms) - -## [Sorting](sorting) - -- [Bead Sort](sorting/) -- [Bogo Sort](sorting/) -- [Bubble Sort](sorting/) -- [Bucket Sort](sorting/) -- [Circle Sort](sorting/) -- [Comb Sort](sorting/) -- [Counting Sort](sorting/) -- [Cycle Sort](sorting/) -- [Flash Sort](sorting/) -- [Gnome Sort](sorting/) -- [Heap Sort](sorting/) -- [Insertion Sort](sorting/) -- [Intro Sort](sorting/) -- [Median Sort](sorting/) -- [Merge Sort](sorting/) -- [Pipeonhole Sort](sorting/) -- [Quick Sort](sorting/) -- [Radix Sort](sorting/) -- [Selection Sort](sorting/) -- [Shaker Sort](sorting/) -- [Shell Sort](sorting/) -- [Sleep Sort](sorting/) -- [Stooge Sort](sorting/) -- [Topological Sort](sorting/) -- [Tree Sort](sorting/) - -## [Strings](strings) - -- [Aho Corasick Algorithm](strings) -- [Anagram Search](strings) -- [Arithmetic on large numbers](strings) -- [Boyer Moore Algorithm](strings) -- [Finite Automata](strings) -- [Kasai Algorithm](strings) -- [Kmp Algorithm](strings) -- [Levenshteing Distance](strings) -- [Lipogram Checker](strings) - -## [Online Challenges](online-challenges) - -- [Coderbyte](online-challenges/coderbyte) -- [Code Chef](online-challenges/code-chef) -- [Code Eval](online-challenges/code-eval) -- [Hackerearth](online-challenges/hackerearth) -- [Hackerrank](online-challenges/hackerrank) -- [LeetCode](online-challenges/leetcode) -- [Project Euler](online-challenges/project-euler) -- [Rosalind](online-challenges/rosalind) -- [SPOJ](online-challenges/spoj) -- [Top Coder](online-challenges/top-coder)` - -## [Others](others) - -- [Average](others/) -- [Biggest of n numbers](others/) -- [Biggest Suffix](others/) -- [Fifteen Puzzle](others/) -- [Jaccard Similarity](others/) -- [Jose Phus Problem](others/) -- [Lapindrom Checker](others/) -- [Leap Year](others/) -- [Magic Square](others/) -- [Majority Element](others/) -- [Minimum subarray size with degree](others/) -- [No operator addition](others/) -- [Paint fill](others/) -- [Split list](others/) -- [Tokenizer](others/) -- [Unique number](others/) - -## License - -This work is released under MIT License. - -To the extent possible under law, [Abraham Hernandez (@abranhe)](https://go.abranhe.com/github) has waived all copyright and related or neighboring rights to this work. - -
- - - -
-
\ No newline at end of file +this file contain updated description