     ]
    },
    {
     "cell_type": "code",
     "execution_count": 3,
     "metadata": {
      "collapsed": false
     },
     "outputs": [],
     "source": [
 
</s> remove    "execution_count": 4,
 </s> add    "execution_count": 3, </s> remove    "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%run ../bst/bst.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
 </s> add  </s> remove    "execution_count": 5,
 </s> add    "execution_count": 4, </s> remove   {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%run ../bst/bst.py"
   ]
  },
 </s> add  </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",
   "execution_count": 2,
     ]
    },
    {
     "cell_type": "code",
   "execution_count": 2,
     "metadata": {
      "collapsed": false
     },
     "outputs": [],
     "source": [
keep keep keep keep replace keep keep keep keep keep
 Revised dfs challenge to be more self contained for simplicity. 
graphs_trees/tree_dfs/dfs_solution.ipynb