Algorithms

Showing 1-8 of 8 results
EngineeringIcon ChevronTechnology

Do the Math: Scaling Microservices Applications with Orchestrators

by Antoine Hamon

Automatically scaling container deployments in a microservices-based app architecture is downright luxurious...once it's set up. But what's the best way to tune an app's orchestration parameters?

9 minute readContinue Reading
EngineeringIcon ChevronTechnology

Exploring Supervised Machine Learning Algorithms

by Vlad Miller

While machine learning sounds highly technical, an introduction to the statistical methods involved quickly brings it within reach. In this article, Toptal Freelance Software Engineer Vladyslav Millier explores basic supervised machine learning algorithms and scikit-learn, using them to predict survival rates for Titanic passengers.

24 minute readContinue Reading
EngineeringIcon ChevronData Science and Databases

A Guide to Consistent Hashing

by Juan Pablo Carzolio

Consistent Hashing is a distributed hashing scheme that operates independently of the number of servers or objects in a distributed hash table. It powers many high-traffic dynamic websites and web applications. In this tutorial, Toptal Freelance Software Engineer Juan Pablo Carzolio will walk us through what it is and how hashing, distributed hashing and consistent hashing work.

25+ minute readContinue Reading
EngineeringIcon ChevronTechnology

Optimized Successive Mean Quantization Transform

by Daniel Angel Muñoz Trejo

Image processing algorithms are often very resource intensive due to fact that they process pixels on an image one at a time and often requires multiple passes. Successive Mean Quantization Transform (SMQT) is one such resource intensive algorithm that can process images taken in low-light conditions and reveal details from dark regions of the image. In this article, Toptal engineer Daniel Angel Munoz Trejo gives us some insight into how the SMQT algorithm works and walks us through a clever optimization technique to make the algorithm a viable option for handheld devices.

15 minute readContinue Reading
EngineeringIcon ChevronTechnology

Predicting Likes: Inside A Simple Recommendation Engine's Algorithms

by Mahmud Ridwan

The Internet is becoming “smarter” every day. The video-sharing website that you frequently visit seems to know exactly what you will like, even before you have seen it. The online shopping cart holding your items almost magically figures out the one thing that you may have missed or intended to add before checking out. It’s as if these web services are reading your mind - or are they? Turns out, predicting a user’s likes involves more math than magic. In this article we will explore one of the many ways of building a recommendation engine that is both simple to implement and understand.

15 minute readContinue Reading
EngineeringIcon ChevronTechnology

How does Shazam work? Music Recognition Algorithms, Fingerprinting, and Processing

by Jovan Jovanovic

You hear a familiar song in the club or the restaurant. You listened to this song a thousand times long ago, and the sentimentality of the song really touches your heart. You desperately want to heart it tomorrow, but you can't remember its name! Fortunately, in our amazing futuristic world, you have a phone with music recognition software installed, and you are saved. But how does this really work? Shazam's algorithm was revealed to world in 2003. In this article we'll go over the fundamentals of that algorithm.

14 minute readContinue Reading
EngineeringIcon ChevronTechnology

Needle in a Haystack: A Nifty Large-Scale Text Search Algorithm Tutorial

by Ahmed Al-Amir

When coming across the term "text search", one usually thinks of a large body of text, which is indexed in a way that makes it possible to quickly look up one or more search terms when they are entered by a user. This is a classic problem in computer science, to which many solutions exist. But how about a reverse scenario? What if what's available for indexing beforehand is a group of search phrases, and only at runtime is a large body of text presented for searching?

12 minute readContinue Reading
EngineeringIcon ChevronTechnology

The Trie Data Structure: A Neglected Gem

by Anna-Chiara Bellini

From the very first days in our lives as programmers, we've all dealt with data structures: Arrays, linked lists, trees, sets, stacks and queues are our everyday companions, and the experienced programmer knows when and why to use them. In this article we'll see how an oft-neglected data structure, the trie, really shines in application domains with specific features, like word games.

9 minute readContinue Reading

Join the Toptal® community.