      "\n",
      "class Graph:\n",
      "\n",
      "    def __init__(self):\n",
      "        self.nodes = OrderedDict()  # key = node id, val = node\n",
      "\n",
      "    def add_node(self, id):\n",
      "        node = Node(id)\n",
      "        self.nodes[id] = node\n",
      "        return node\n",
 
</s> remove     "        self.nodes = OrderedDict()  # key = node id, val = node\n",
 </s> add     "        self.nodes = {}  # key = node id, val = node\n", </s> remove         self.nodes = OrderedDict()  # key = node id, val = node
 </s> add         self.nodes = {}  # key = node id, val = node </s> remove     "        self.adjacent = OrderedDict()  # key = node, val = weight\n",
 </s> add     "        self.adjacent = {}  # key = node, val = weight\n", </s> remove     "        self.adjacent = OrderedDict()  # key = node, val = weight\n",
 </s> add     "        self.adjacent = {}  # key = node, val = weight\n",
    "        self.nodes = {}  # key = node id, val = node\n",
      "\n",
      "class Graph:\n",
      "\n",
      "    def __init__(self):\n",
    "        self.nodes = {}  # key = node id, val = node\n",
      "\n",
      "    def add_node(self, id):\n",
      "        node = Node(id)\n",
      "        self.nodes[id] = node\n",
      "        return node\n",
keep keep keep keep replace keep keep keep keep keep
 Rework graph challenge and solution (#86) 
graphs_trees/graph/graph_solution.ipynb