An american flag sort is an efficient, in-place variant of radix sort that distributes items into hundreds of buckets. Non-comparative sorting algorithms such as radix sort and american flag sort are typically used to sort large objects such as strings, for which comparison is not a unit-time operation.
American flag sort iterates through the bits of the objects, considering several bits of each object at a time. For each set of bits, american flag sort makes two passes through the array of objects: first to count the number of objects that will fall in each bin, and second to place each object in its bucket. This works especially well when sorting a byte at a time, using 256 buckets. With some optimizations, it is twice as fast as quicksort for large sets of strings.
The name comes by analogy with the Dutch national flag problem in the last step: efficiently partition the array into many "stripes".
Read more about American Flag Sort: Algorithm, Sample Implementation in Python
Famous quotes containing the words american, flag and/or sort:
“An accurate charting of the American womans progress through history might look more like a corkscrew tilted slightly to one side, its loops inching closer to the line of freedom with the passage of timebut like a mathematical curve approaching infinity, never touching its goal. . . . Each time, the spiral turns her back just short of the finish line.”
—Susan Faludi (20th century)
“Here, the flag snaps in the glare and silence
Of the unbroken ice. I stand here,
The dogs bark, my beard is black, and I stare
At the North Pole. . .
And now what? Why, go back.
Turn as I please, my step is to the south.”
—Randall Jarrell (19141965)
“I think Id like to contribute to society in some way. I dont know what that might be. Right now, I just sort of give bums money on the street.”
—Isabelle Kuprin (b. c. 1960)