> I've run into "CS" graduates from
the university who supposedly have
> learned about really "good" sort algorithms (usually
> "Shell-Metzner"), without understanding which situations an optimized
> "bubble" is better for.
On Mon, 6 Apr 2009, der Mouse wrote:
I'm not sure a CS graduate _should_. That's
less an aspect of the
theoretical discipline CS is than of the correpsnoding practical
discipline (programming, software engineering, pick your favourite term
for it). Learning about the difference between shellsort's complexity
and bubblesort's and heapsort's is important. But I'm not sure I'd
expect a theoretician to correctly choose the right one for any
particular application.
You don't think agree that even the theoretician should understand that
some algorithms can take advantage of existing order and end early, while
others are a fixed duration?
Example: The library is doing a "retrospective conversion" of its card
catalog to an OPAC ("Online Public Access Catalog"). The cards are
mechanically scanned. They are nominally in order, however, due to being
handled by humans, a lot, there "might be" some errors in sequence.
"Might" - yeah, right. Which sort is "better"?
"Shell-Metzner" or
"shaker"?