Back to Basics: Algorithms
Computerworld (03/24/08) Vol. 42, No. 13, P. 30; Anthes, Gary
Superior algorithms are distinguished by speed, reliability, easy understanding and modifiability, efficient resource usage, and above all, elegance. As computers penetrated the business sector in the 1960s, the computing world was hit by the double blow of bugs--computer errors stemming from programmer errors--and sorting, which was required of virtually every major application. These challenges brought new recognition to the importance of algorithms among IT people, who realized that simple algorithms could be easily coded, debugged, and modified. But in many cases simple algorithms did not boast the most efficiency, so programmers devised algorithmic methods for evaluating the efficiency and overall superiority of algorithms. Bubblesort was an easily understandable but inefficient algorithm that read through the file to be sorted and looked successively at pairs of adjacent records to see if they needed to be swapped to be put in correct order, the idea being that in-sequence records would "bubble up" to the top until eventually the entire file was in sequence. A much more elegant improvement over Bubblesort was the Quicksort algorithm, which can take far less time to sort a file by selecting any element or "pivot" from the list, comparing every other element to the pivot in order to put things in correct order, and then repeating this process on successfully smaller groups until the entire list is in sequence.
Click Here to View Full Article
No comments:
Post a Comment