- Notifications
You must be signed in to change notification settings - Fork4
Around 35 of the fastest and most widely used full text search algorithms. Written in c, compiled with llvm.clang for iOS and everything else. Boyer-Moore , Knuth-Morris-Pratt, Reverse Colussi even the Zhu-Takaoka algorithm. And 32 more.
mikewlange/35SearchesInC
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
All funtions written in c and wrapped in swift. Build in xcode if you wish.
The Algorithms:
Note: I renamed and made up a few - which are the best ones. But 90% you know.
Boyer-Moore algorithm
Alpha Skip
Apostolico-Crochemore algorithm
Apostolico-Giancarlo algorithm
BMH-SBNDM
BRUTE FORCE SEARCH
BackwardOracle
Berry-Ravindran algorithm
Boyer-Moore-Horspool
Colussi algorithm
Deterministic Finite Automaton algorithm
Extended-BOM
Franek-Jennings-Smyth
Galil-Giancarlo algorithm
Galil-Seiferas
KMP Skip Search algorithm
Karp-Rabin algorithm
Knuth-Morris-Pratt
Morris-Pratt
Optimal Mismatch algorithm
Ordered Alphabets
Quick Search
Railgun String Search (CAN'T BE BEAT OR BROKEN)
Research with an automaton search
Reverse Colussi algorithm
Reverse Fuck All
SIMON!
ShiftAnd
Shifty and Fuzzy
Skip Search
Turbo-BM algorithm
Two Way Search
Viva Hate
Zhu-Takaoka algorith
Good Read:https://arxiv.org/abs/1012.2547 #
It's very simple to use Swift and c side by by side.
Fun Swift opinion - If you're not low level engineers, you probably don't realize that Swift (or Golang - my new favorite) could easily replace c. But c is awesome. C++ can die already.
I took the TDD approach on this so every implementation is right in the unit tests.
These are most of the full text search algos out there I think.
I even found some esoteric ones that are blazing compared to the "standard" ones. You'll know them by their name as you'll have never heard of it.
This has been an interesting exercize'. Each one of these excell in specific scenarios. Some more universal than others. Lots of unexpected on specific data types. This is exciting because there is a strong possibility it's quite easy to improve every search platform/algo in existence via simple genetic algos and ML. That's a big one. But in dev. Similar tohttps://github.com/mikewlange/Kettle--Tpot-for-GPU-AI but for search critera/algo deduction/content.
Hopefully no one reads that last sentance as you now have a billian dollar search platform if you put in the work before me.
Here they are in no particular order.
https://github.com/mikewlange/35-Super-Fast-Search-Algorithms/tree/master/Motekim%20Search
About
Around 35 of the fastest and most widely used full text search algorithms. Written in c, compiled with llvm.clang for iOS and everything else. Boyer-Moore , Knuth-Morris-Pratt, Reverse Colussi even the Zhu-Takaoka algorithm. And 32 more.
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.