Department of Computer Science and Engineering, IIT Kanpur

CS210: Data Structures

Dr. R. K. Ghosh

Home | Notice Board | Instructor | TAs | Students | Assignments | Schedule | Lectures | Resources
Applet Page for Sorting

This page links to three sets of applets demonstrating most of the sorting algorihms and sorting networks.

The first two set of of applets demostrate sorting algorithm where the elements are represented by graphical objects like vertical bars or  numbers within square boxes. There are four applets in the first set, namely, insertion sort, heap sort, merge sort and quick sort.  The elements in this set are represented by vertical bar. The applets allows the user to either speed up or slow down the execution  of the algorithm. It also allows the user to suspend/resume the execution. The applet is embeded with the with a short description page. Finally, an applet showing a race of all four algorithm is provided for comparison of running time of the four different algorithms. 

The second set of applets include eight algorithms. These algorithms use a more expressive graphic object representation and simulates the sorting steps by explicit movements of graphic objects for a simple understanding of the process of sorting. These set of sorting algorithms require more canvas area for the demonstration of the movements. So each applet is launched into the  full browser window.  The description of sorting algorithms are provided in some cases and animation applet is linked from the description pages. These set of sorting algorithms also include the four sorting algorithms  of the first set. The user can get a different flavour of animations. The second set of sorting includes four additional sorting algorithms, namely, radix sort, postman sort, counting sort, and two-way selection sort. 

The sorting based on comparison networks use only comparisons for sorting, and can  perform comparisons in parallel. Therefore, all comparison based sorting algorithms can be implemented by placing comparators in a network. But sorting algorithms like counting sort or such algorithms which rely on counting sort can not be implemented on sorting network. This applet page also includes links to sorting networks which allow user to place the comparators on the input lines and construct their own sorting networks. A short description of sorting networks is provided separately.

The applets

  • Insertion SortI
  • Insertion Sort II
  • Counting Sort
  • Heap Sort I
  • Postman Sort
  • Radix Sort
  • Merge Sort I
  • Heap Sort II
  • Two-way Selection Sort
  • Quick Sort I
  • Merge Sort II
  • Sorting Network
  • Race the Sorts
  • Quick Sort II

  • Home | Notice Board | Instructor | TAs | Students | Assignments | Schedule | Lectures | Resources