Did you know? DZone has great portals for Python, Cloud, NoSQL, and HTML5!
Python Zone is brought to you in partnership with:

Algorithms

  • submit to reddit
Stoimen Popov04/17/12
4747 views
0 replies

Algorithm of the Week: Boyer-Moore String Searching

Have you ever asked yourself which algorithm is used to find a word after clicking Ctrl+F and typing something? Well, you probably know the answer from the title, but in this article Stoimen Popov explains how exactly this is done.

Stoimen Popov04/11/12
6053 views
0 replies

Algorithm of the Week: Morris-Pratt String Searching

Stoimen Popov returns with his Algorithm of the Week series, and in this post, he tackles the task of improving on the Brute Force String Matching and Rabin-Karp Sting Searching algorithms. To do this, he examines the flaws in the previous two, and explains how the Morris-Pratt String Searching algorithm can do better.

Stoimen Popov04/03/12
6481 views
0 replies

Algorithm of the Week: Rabin-Karp String Searching

Last week, Stoimen Popov explained Brute Force String Matching, but cautioned that it is not the most efficient method for pattern matching. In this post, Stoimen breaks down a more efficient method, the Rabin-Karp Algorithm, and explains why it is more efficient in practice than in theory.

Stoimen Popov03/27/12
5906 views
0 replies

Algorithm of the Week: Brute Force String Matching

When it comes to string matching, the most basic approach is what is known as brute force, which simply means to check every single character from the text to match against the pattern. In this post, Stoimen Popov explains the principles behind Brute Force String Matching, demonstrates its implementation, and shows you what cases it is best used for.

Jose Asuncion03/25/12
3281 views
0 replies

My Implementation of the Apriori Algorithm

This is a self imposed machine problem written for a lesson lesson on Frequent Itemsets and the Apriori Algorithm. The program that would find the top five frequent item sets among a set of baskets.

Stoimen Popov03/21/12
4222 views
0 replies

Algorithm Cheatsheet: Radix Sort

Radix sort is an elegant and fast integer-sorting algorithm as explained in the following cheatsheet. In this post, Stoimen has provided an Algorithm Cheatsheet to help you out!

Stoimen Popov03/20/12
5351 views
0 replies

Algorithm of the Week: Radix Sort

Stoimen Popov continues his series on Algorithms, this week tackling Radix Sort. In this post, Stoimen explains the implementation of Radix Sort using PHP, and provides a Pros and Cons list to help you decide if Radix Sort is right for your situation.

Jose Asuncion03/18/12
3620 views
0 replies

The Apriori Algorithm

The Apriori algorithm is a basic method for finding frequent itemsets. The latter is used to generate association rules with high confidence and high interest. Here is my summary of it along with a running example. The following set of baskets will be used:

Stoimen Popov03/13/12
4842 views
1 replies

Algorithm of the Week: Quicksort

In general Quicksort consists of some very simple steps. First we have to choose an element from the list (called a pivot) then we must put all the elements with a value less than the pivot on the left side of the pivot and all the items with value greater than the pivot on its right side. After that we must repeat these steps for the left and the right sub-lists. As Stoimen Popov explains, that is Quicksort! Simple and elegant!

John Cook03/11/12
27335 views
2 replies

Tweaking Bayes’ Theorem

In Peter Norvig’s talk 'The Unreasonable Effectiveness of Data', he changes Bayes’ theorem to make an example algorithm work better. He goes on to explain why reality is complicated and we've got to do the best we can...

Stoimen Popov01/31/12
6193 views
0 replies

Algorithm of the Week: Data Compression with Relative Encoding

I will show you how you can save space for certain implementations by reducing the amount of characters you are encoding using relative encoding.

Peter Karich01/29/12
2743 views
2 replies

Assignment Algorithms to improve Perfomance of Automated Timetabling

Over the last two days I’ve read the old Java code of a board game. Although the game still compiles and works (it even works on a Zaurus device) the code itself is horrible: no unit tests, thread issues, a lot of static usages and mixed...

Stoimen Popov01/24/12
9501 views
1 replies

Algorithm of the Week: Data Compression with Diagram Encoding and Pattern Substitution

Two variants of run-length encoding are the diagram encoding and the pattern substitution algorithms. The diagram encoding is actually a very simple algorithm.

Stoimen Popov01/17/12
4830 views
0 replies

Algorithm of the Week: Data Compression with Bitmaps

In my previous post we saw how to compress data consisting of very long runs of repeating elements. This type of compression is known as “run-length encoding” and can be very handy when transferring data with no loss. The problem is that the data must...

Mitch Pronschinske01/13/12
2744 views
1 replies

Configuring Mahout Clustering Jobs

For more than a decade internet search engines have helped users find documents they are looking for. However, what if users aren't looking for anything...