EKAlgorithms alternatives and similar libraries
Based on the "Utility" category.
Alternatively, view EKAlgorithms alternatives based on common mentions on social networks and blogs.
-
swift-algorithm-club
Algorithms and data structures in Swift, with explanations! -
SwifterSwift
A handy collection of more than 500 native Swift extensions to boost your productivity. -
BlocksKit
The Objective-C block utilities you always wish you had. -
libextobjc
A Cocoa library to extend the Objective-C programming language. -
InAppSettingsKit
This iOS framework allows settings to be in-app in addition to or instead of being in the Settings app. -
EZSwiftExtensions
:smirk: How Swift standard types and classes were supposed to work. -
DifferenceKit
💻 A fast and flexible O(n) difference algorithm framework for Swift collection. -
Reusable
A Swift mixin for reusing views easily and in a type-safe way (UITableViewCells, UICollectionViewCells, custom UIViews, ViewControllers, Storyboards…) -
ObjectiveSugar
ObjectiveC additions for humans. Ruby style. -
SwiftLinkPreview
It makes a preview from an URL, grabbing all the information such as title, relevant texts and images. -
WhatsNew
Showcase new features after an app update similar to Pages, Numbers and Keynote. -
BFKit-Swift
BFKit-Swift is a collection of useful classes, structs and extensions to develop Apps faster. -
BFKit
BFKit is a collection of useful classes and categories to develop Apps faster. -
RateLimit
Simple utility for only executing code every so often. -
ReadabilityKit
Preview extractor for news, articles and full-texts in Swift -
VTAcknowledgementsViewController
Acknowledgements screen displaying a list of licenses, for example from CocoaPods dependencies. -
ObjectiveKit
Swift-friendly API for a set of powerful Objective C runtime functions. -
SwiftFoundation
Cross-Platform, Protocol-Oriented Programming base library to complement the Swift Standard Library. (Pure Swift, Supports Linux) -
AssistantKit
Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift. -
DeviceGuru
DeviceGuru is a simple lib (Swift) to know the exact type of the device, e.g. iPhone 6 or iPhone 6s. Please ⭐️ this repo on the top right corner to make this repo popular. -
SwiftyUtils
All the reusable code that we need in each project -
Retry
Haven't you wished for `try` to sometimes try a little harder? Meet `retry` -
YAML.framework
Proper YAML support for Objective-C. Based on recommended libyaml. -
Standard Template Protocols
Protocols for your every day iOS needs -
SBConstants
Generate a constants file by grabbing identifiers from storyboards in a project. -
ReflectableEnum
Reflection for enumerations in Objective-C. -
ZamzamKit
A Swift package for rapid development using a collection of micro utility extensions for Standard Library, Foundation, and other native frameworks. -
Datez
📆 Breeze through Date, DateComponents, and TimeInterval with Swift! -
XestiMonitors
An extensible monitoring framework written in Swift
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of EKAlgorithms or a related project?
README
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
- Index of maximum element in array.
- Indexes of maximum and minimum elements simultaneously.
- 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).
- Union of two arrays (with remove duplicates) for some key.
- Find duplicates.
- Array with N unique/not unique random objects.
- Check if array is sorted.
- Array shuffle (Fisher-Yates).
- Sum of array elements.
- N of occurences of each element in array.
Search Algorithms
- Linear search.
- Binary search.
Sorting Algorithms
- Bubble sort.
- Shell sort.
- Merge sort.
- Quick sort.
- Insertion sort.
- Selection sort.
- Radix Sort.
- Partial selection sort.
- Heap sort.
Selection Algorithms
- Quickselect.
Strings
- 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".
- Longest common subsequence.
- Levenshtein distance.
- KMP (Knuth–Morris–Pratt).
- Boyer–Moore string search algorithm.
Numeric Algorithms
- Sieve of Eratosthenes.
- Great common divisor (GCD).
- Least common multiple (LCM).
- Factorial.
- Fibonacci numbers (5 algos).
- 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.
- Find Nth prime.
- Swap the value of two NSInteger pointers.
- Square root using Newton-Raphson method.
- Convert integer to another numeral system (2, 8, 12, 16).
- Fast inverse square root.
Data Structures
- Stack (LIFO).
- Queue (FIFO).
- Deque.
- Linked list.
- 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.
- Tree.
- Binary tree:
- Pre-order traversal;
- In-order traversal;
- Post-order traversal.
- Binary search tree (BST).
- AVL tree.
- Binary heap.
Problems
- Josephus Problem.
- Modulo bias.
Geometry
- Array of sorted locations according to a distance to a given location.
- Cartesian quadrant selection algorithms
Recursion
- 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: