EKAlgorithms is a gradually increasing bunch of algorithms in which some well known CS algorithms, data structures & others are implemented in Objective-C language.
I will be posting new algorithms, stay in touch.
- Index of maximum element in array.
- Find longest string in array of strings.
- Find shortest string in array of strings.
- Array reverse.
- Intersection of two arrays.
- Union of two arrays (with remove duplicates).
- Find duplicates.
- Array with N unique/not unique random objects.
- Linear search.
- Binary search.
- Bubble sort.
- Shell sort.
- Merge sort.
- Quick sort.
- Insertion sort.
- Selection sort.
- Heap sort.
- Palindrome or not.
- String reverse.
- Words count.
- Permutations of string.
- Occurrences of each character (a - z).
- Count "needles" in a "haystack".
- Random string.
- Concatenation of two strings.
- Find 1st occurrence of "needle" in a "haystack".
- Last occurrence of "needle" in a "haystack".
- Sieve of Eratosthenes.
- Great common divisor (GCD).
- Least common multiple (LCM).
- Factorial.
- Fibonacci numbers.
- Sum of digits.
- Binary to decimal conversion.
- Decimal to binary conversion.
- Fast exponentiation.
- Number reverse.
- Even/odd check.
- Leap year check.
- Armstrong number check.
- Prime number check.
- Stack (LIFO).
- Queue (FIFO).
- Deque.
- Linked list.
- Graph
- DFS (depth-first search);
- BFS (breadth-first search).
- Binary search tree (BST).
All the algorithms are compiled for the self educational purposes only and are not intended to be the best "Big O" solution.
But I hope EKAlgorithms can serve you as an excellent starting point for the beginning of an in-depth study of algorithms and their optimization.
So pull requests are welcome! If you want to do something, please open an issue first.