## Recursive Sorting

**S. Chen**

Developed using
source code published in "Object-oriented software development in Java: principles, patterns,
and frameworks" by Xiaoping Jia, DePaul University
and "A Practical Introduction to Data Structures and Algorithm Analysis,
Java Edition" by Clifford A. Shaffer, Virginia Tech.

The following applets help demonstrate the quicksort and mergesort
algorithms. The "normal" versions demonstrate the standard
operation of recursion -- "depth-first, left to right".

This normal, depth-first operation can be somewhat
confusing and it can obscure the concepts of the recursive
algorithm. Thus, these modified versions demonstrate the
recursive sorting algorithms operating in "level-order". For
example, mergesort will create two halves, then four quarters, then
eight eighths, etc. In the level-order applet, all recursive
calls at the same level (e.g. the eight eighths) are processed in
sequence.

Note: In order to
view the applets, you may need to have the JAVA plug-in
installed on your machine. If you are installing JAVA SDK (for
program
development), the plug-in should be part of this install (e.g. part of
the CD
that comes with the textbook). If you do not need the SDK, the
JRE is
sufficient to run the applet (and a much smaller download).

More Learning Objects for Mathematics and Computer Science by S. Chen.