Algorithm

Showing 10-18 of 19 results
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

How to Build a Natural Language Processing App

By Shanglun Wang

Natural language is increasingly becoming a viable way of interacting with smart software. Google search, Apple’s Siri, Microsoft’s Cortana, etc. are all capable of understanding queries in natural language. In this article, Toptal Freelance Software Engineer Shanglun (Sean) Wang walks us through some useful concepts and techniques in natural language processing and shows how they can be used to build a simple NLP app.

10 minute readContinue Reading
EngineeringIcon ChevronTechnology

Genetic Algorithms: Search and Optimization by Natural Selection

By Eugene Ossipov

Many problems have optimal algorithms developed for them, while many others require us to randomly guess until we get a good answer. Even an optimal solution becomes slow and complex at a certain scale, at which point we can turn to natural processes to see how they reach acceptable results. In this article, Toptal Freelance Software Engineer Eugene Ossipov walks us through the basics of creating a Genetic Algorithm and gives us the knowledge to delve deeper into solving any problems using this approach.

9 minute readContinue Reading
EngineeringIcon ChevronData Science and Databases

Clustering Algorithms: From Start to State of the Art

By Lovro Iliassich

Clustering algorithms are very important to unsupervised learning and are key elements of machine learning in general. These algorithms give meaning to data that are not labelled and help find structure in chaos. But not all clustering algorithms are created equal; each has its own pros and cons. In this article, Toptal Freelance Software Engineer Lovro Iliassich explores a heap of clustering algorithms, from the well known K-Means algorithm to the elegant, state-of-the-art Affinity Propagation technique.

11 minute readContinue Reading
EngineeringIcon ChevronData Science and Databases

Tree Kernels: Quantifying Similarity Among Tree-structured Data

By Dino Causevic

Today, a massive amount of data is available in the form of networks or graphs. For example, the World Wide Web, with its web pages and hyperlinks, social networks, semantic networks, biological networks, citation networks for scientific literature, and so on. A tree is a special type of graph, and is naturally suited to represent many types of data. The analysis of trees is an important field in computer and data science. In this article, we will look at the analysis of the link structure in trees. In particular, we will focus on tree kernels, a method for comparing tree graphs to each other, allowing us to get quantifiable measurements of their similarities or differences. This an important process for many modern applications such as classification and data analysis.

12 minute readContinue Reading
EngineeringIcon ChevronData Science and Databases

Optimized Successive Mean Quantization Transform

By Daniel Munoz

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 ChevronData Science and Databases

Cryptocurrency for Dummies: Bitcoin and Beyond

By Demir Selmanovic

Bitcoin created a lot of buzz on the Internet. It was ridiculed, it was attacked, and eventually it was accepted and became a part of our lives. However, Bitcoin is not alone. At this moment, there are over 700 AltCoin implementations, which use similar principles of CryptoCurrency.

10 minute readContinue Reading
EngineeringIcon ChevronBack-end

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 explore one of the many ways of building a recommendation engine that is both simple to implement and understand.

15 minute readContinue Reading
EngineeringIcon ChevronBack-end

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

Join the Toptal® community.