{
  "translations" :{
    "en": {
	  "Slide 1": "Quicksort's best case occurs when the selected pivot always breaks the array into two equal halves",
	  "Slide 2": "Let's start with an array of size $n$",
	  "Slide 3": "The pivot partitions the array into two halves of size $\\frac{n}{2}$ each ... This requires $\\theta(n)$ amount of work",
	  "Slide 4": "For each of the $\\frac{n}{2}$ partitions, the pivot breaks it into two halves of size $\\frac{n}{4}$ each ... This requires $\\theta(n)$ amount of work",
	  "Slide 5": "For each of the $\\frac{n}{4}$ partitions, the pivot breaks it into two halves of size $\\frac{n}{8}$ each ... This requires $\\theta(n)$ amount of work",
	  "Slide 6": "In the last level, we reach $n$ partitions each of size 1 ... This requires $\\theta(n)$ amount of work",
	  "Slide 7": "Thus, at each level, all partition steps for that level do a total of $\\theta(n)$ work, for an overall cost of $\\theta(n\\log{n})$ work when Quicksort finds perfect pivots."
    }
  }
}
