    },
    {
     "cell_type": "code",
     "execution_count": 1,
     "metadata": {
      "collapsed": true
     },
     "outputs": [],
     "source": [
      "%run ../bst/bst.py"
     ]
    },
    {
     "cell_type": "code",
     "execution_count": 2,
     "metadata": {
      "collapsed": false
     },
     "outputs": [],
     "source": [
 
</s> remove   {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%run ../bst/bst.py"
   ]
  },
 </s> add  </s> remove    "execution_count": 3,
 </s> add    "execution_count": 2, </s> remove    "execution_count": 5,
 </s> add    "execution_count": 4, </s> remove    "execution_count": 4,
 </s> add    "execution_count": 3, </s> remove     "class MyNode(Node):\n",
 </s> add     "class Node(object):\n",
    "\n",
    "    def __init__(self, data):\n",
    "        self.data = data\n",
    "        self.left = None\n",
    "        self.right = None\n",
    "\n",
    "    def insert(self, data):\n",
    "        if data <= self.data:\n",
    "            if self.left is None:\n",
    "                self.left = type(self)(data)\n",
    "            else:\n",
    "                self.left.insert(data)\n",
    "        else:\n",
    "            if self.right is None:\n",
    "                self.right = type(self)(data)\n",
    "            else:\n",
    "                self.right.insert(data)\n",
    "\n",
    },
    {
     "cell_type": "code",
     "execution_count": 1,











     "metadata": {
      "collapsed": false
     },
     "outputs": [],
     "source": [
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Revised dfs challenge to be more self contained for simplicity. 
graphs_trees/tree_dfs/dfs_solution.ipynb