Skip to main content
Home > Research > Sorting
Research > Educational Tools > Recursive Sorting

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.