def DFSSearch(self, u):
    explored_list = {}
    for v in self.graph.keys():
        explored_list[v] = False
    self.cache = []
    self.DFSSearchInner(u, explored_list)
    return self.cache
def DFSSearch(self, u):
    explored_list = {}
    for v in self.graph.keys():
        explored_list[v] = False
    self.cache = []
    self.DFSSearchInner(u, explored_list)
    return self.cache