Skip to content


Project Euler

ACM-ICPC Live Archive

UVa Online Judge

UVA Toolkit

Programming Challenges (Text with solutions)


  • sorting
    • why stability sometimes matters? Say if you have multiple keys, sort of different keys can be chained together to represent a combined sort, if the sort algorithm used is stable.
  • Details of quicksort and merge sort
  • Merge sort can be highly useful in situations where quicksort is impractical?
  • On what kind of input data are they efficient, when are they not? What does efficiency mean in these cases in terms of runtime and space used? E.g. in exceptional cases insertion-sort or radix-sort are much better than the generic QuickSort / MergeSort / HeapSort answers.
  • on mostly sorted input list, insertion and bubble sort looks good O(N). And heap sort will perform terribly.