     "metadata": {},
     "source": [
      "## Problem: Implement selection sort.\n",
      "\n",
      "* [Clarifying Questions](#Clarifying-Questions)\n",
      "* [Test Cases](#Test-Cases)\n",
      "* [Algorithm](#Algorithm)\n",
      "* [Code](#Code)\n",
      "* [Pythonic-Code](#Pythonic-Code)"
     ]
 
</s> remove     "* [Pythonic-Code](#Pythonic-Code)"
 </s> add     "* [Unit Test](#Unit-Test)" </s> remove     "## Clarifying Questions\n",
 </s> add     "## Constraints and Assumptions\n", </s> remove     "* Are you looking for a generic naiive selection sort (ie not stable)?\n",
 </s> add     "*Problem statements are often intentionally ambiguous.  Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n",
    "\n",
    "* Are you looking for a naiive solution (ie not stable, not based on a heap)?\n", </s> remove    "execution_count": null,
 </s> add    "execution_count": 3, </s> remove    "execution_count": null,
 </s> add    "execution_count": 2,
    "* [Constraints and Assumptions](#Constraints-and-Assumptions)\n",
     "metadata": {},
     "source": [
      "## Problem: Implement selection sort.\n",
      "\n",
    "* [Constraints and Assumptions](#Constraints-and-Assumptions)\n",
      "* [Test Cases](#Test-Cases)\n",
      "* [Algorithm](#Algorithm)\n",
      "* [Code](#Code)\n",
      "* [Pythonic-Code](#Pythonic-Code)"
     ]
keep keep keep keep replace keep keep keep keep keep
 Reworked notebook: Added more detail to constraints and test cases.  Reworked code and unit test. 
sorting-searching/selection-sort.ipynb