All Projects → EvgenyKarkan → Ekalgorithms

EvgenyKarkan / Ekalgorithms

Licence: mit
EKAlgorithms contains some well known CS algorithms & data structures.

Programming Languages

objective c
16641 projects - #2 most used programming language
c
50402 projects - #5 most used programming language
Roff
2310 projects

Labels

Projects that are alternatives of or similar to Ekalgorithms

Arts
每周一道算法一本书
Stars: ✭ 199 (-91.78%)
Mutual labels:  algorithm
Technicalnote
Repository to store what we have studied. 📖 We want everyone to get a job through TechnicalNote.
Stars: ✭ 206 (-91.49%)
Mutual labels:  algorithm
Gbox
🎨 A multi-platform graphic library
Stars: ✭ 216 (-91.08%)
Mutual labels:  algorithm
Mathmodel
研究生数学建模,本科生数学建模、数学建模竞赛优秀论文,数学建模算法,LaTeX论文模板,算法思维导图,参考书籍,Matlab软件教程,PPT
Stars: ✭ 3,834 (+58.36%)
Mutual labels:  algorithm
Bezier
Algorithm to draw smooth bezier curves through a set of points
Stars: ✭ 207 (-91.45%)
Mutual labels:  algorithm
Cpp Timsort
A C++ implementation of timsort
Stars: ✭ 211 (-91.28%)
Mutual labels:  algorithm
Clrs
CLRS in C++
Stars: ✭ 195 (-91.95%)
Mutual labels:  algorithm
Codejam
Set of handy reusable .NET components that can simplify your daily work and save your time when you copy and paste your favorite helper methods and classes from one project to another
Stars: ✭ 217 (-91.04%)
Mutual labels:  algorithm
Swiftlcs
Swift implementation of the longest common subsequence (LCS) algorithm.
Stars: ✭ 207 (-91.45%)
Mutual labels:  algorithm
Javascript Utilities
一些常用算法的 JavaScript 实现
Stars: ✭ 214 (-91.16%)
Mutual labels:  algorithm
Java String Similarity
Implementation of various string similarity and distance algorithms: Levenshtein, Jaro-winkler, n-Gram, Q-Gram, Jaccard index, Longest Common Subsequence edit distance, cosine similarity ...
Stars: ✭ 2,403 (-0.74%)
Mutual labels:  algorithm
Algorithms Notes
《算法(第4版)》笔记及代码 | 《Algorithms(Fourth Edition)》notes & code
Stars: ✭ 206 (-91.49%)
Mutual labels:  algorithm
Haste
Haste: a fast, simple, and open RNN library
Stars: ✭ 214 (-91.16%)
Mutual labels:  algorithm
Tlx
TLX - A Collection of Sophisticated C++ Data Structures, Algorithms, and Miscellaneous Helpers
Stars: ✭ 199 (-91.78%)
Mutual labels:  algorithm
Competitive Programming
My competitive programming guide,reading materials, link to system and design interview preparation and my own coding solutions from Codechef, Leetcode,Geeks for Geeks, HackerRank , spoj, codesignal, codebyte, codeblocks and other online judges
Stars: ✭ 206 (-91.49%)
Mutual labels:  algorithm
Rrt Algorithms
n-dimensional RRT, RRT* (RRT-Star)
Stars: ✭ 195 (-91.95%)
Mutual labels:  algorithm
Hackerranksolutions
This is a repo for HackerRankSolutions with Swift
Stars: ✭ 213 (-91.2%)
Mutual labels:  algorithm
.net Big O Algorithm Complexity Cheat Sheet
Big-O complexities of common algorithms used in .NET and Computer Science.
Stars: ✭ 215 (-91.12%)
Mutual labels:  algorithm
Play With Data Structures
慕课 liuyubobobo「玩转数据结构」课程的 Go 语言实现版本
Stars: ✭ 217 (-91.04%)
Mutual labels:  algorithm
Hkube
🐟 High Performance Computing over Kubernetes - Core Repo 🎣
Stars: ✭ 214 (-91.16%)
Mutual labels:  algorithm

Build Status

EKAlgorithms

EKAlgorithms is a set of computer exercises implemented in Objective-C. Data structures, well known algorithms, CS curiosities, you name it!

Don't forget to watch the repository; Its content will be expanded and updated frequently.

Arrays and Lists

  1. Index of maximum element in array.
  2. Indexes of maximum and minimum elements simultaneously.
  3. Find longest string in array of strings.
  4. Find shortest string in array of strings.
  5. Array reverse.
  6. Intersection of two arrays.
  7. Union of two arrays (with remove duplicates).
  8. Union of two arrays (with remove duplicates) for some key.
  9. Find duplicates.
  10. Array with N unique/not unique random objects.
  11. Check if array is sorted.
  12. Array shuffle (Fisher-Yates).
  13. Sum of array elements.
  14. N of occurences of each element in array.

Search Algorithms

  1. Linear search.
  2. Binary search.

Sorting Algorithms

  1. Bubble sort.
  2. Shell sort.
  3. Merge sort.
  4. Quick sort.
  5. Insertion sort.
  6. Selection sort.
  7. Radix Sort.
  8. Partial selection sort.
  9. Heap sort.

Selection Algorithms

  1. Quickselect.

Strings

  1. Palindrome or not.
  2. String reverse.
  3. Words count.
  4. Permutations of string.
  5. Occurrences of each character (a - z).
  6. Count "needles" in a "haystack".
  7. Random string.
  8. Concatenation of two strings.
  9. Find 1st occurrence of "needle" in a "haystack".
  10. Last occurrence of "needle" in a "haystack".
  11. Longest common subsequence.
  12. Levenshtein distance.
  13. KMP (Knuth–Morris–Pratt).
  14. Boyer–Moore string search algorithm.

Numeric Algorithms

  1. Sieve of Eratosthenes.
  2. Great common divisor (GCD).
  3. Least common multiple (LCM).
  4. Factorial.
  5. Fibonacci numbers (5 algos).
  6. Sum of digits.
  7. Binary to decimal conversion.
  8. Decimal to binary conversion.
  9. Fast exponentiation.
  10. Number reverse.
  11. Even/odd check.
  12. Leap year check.
  13. Armstrong number check.
  14. Prime number check.
  15. Find Nth prime.
  16. Swap the value of two NSInteger pointers.
  17. Square root using Newton-Raphson method.
  18. Convert integer to another numeral system (2, 8, 12, 16).
  19. Fast inverse square root.

Data Structures

  1. Stack (LIFO).
  2. Queue (FIFO).
  3. Deque.
  4. Linked list.
  5. Graph:
    • DFS (depth-first search);
    • BFS (breadth-first search);
    • MST (minimum spanning tree - Prim's algorithm);
    • MST (minimum spanning tree - Kruskal's algorithm);
    • Shortest path (Dijkstra's algorithm);
    • Topsort.
  6. Tree.
  7. Binary tree:
    • Pre-order traversal;
    • In-order traversal;
    • Post-order traversal.
  8. Binary search tree (BST).
  9. AVL tree.
  10. Binary heap.

Problems

  1. Josephus Problem.
  2. Modulo bias.

Geometry

  1. Array of sorted locations according to a distance to a given location.
  2. Cartesian quadrant selection algorithms

Recursion

  1. Tower of Hanoi.

Contributions

Pull requests are welcome! But if you want to do a contribution, open an issue first.

Originally, the compiled exercises are for educational purposes only and have no intention of being the ultimate solution complexity-wise, but they do intend to be used by you as a starting point of a deeper study on algorithms and their optimization.

Important Note

The Foundation framework already includes tools and methods for most of the exercises contained here. Kudos to Apple on that! But... this. is. SPARTA! So lets get our hands dirty and try to implement cool CS stuff with minimal use of existing APIs.

Thanks!

Similar repositories

algorithms playground for common questions (Ruby language)

Examples of commonly used data structures and algorithms in Swift. (Swift)

Algorithms and data structures in Swift, with explanations!

Contributors

Special thanks to these guys for their contributions to the project's development:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].