Search
 
SCRIPT & CODE EXAMPLE
 

PYTHON

python depth first search

# left to right, pre-order depth first tree search, iterative. O(n) time/space
def depthFirstSearch(root):
    st = [root]
    while st:
        current = st.pop()
        print(current)
        if current.right: st.append(current.right) 
        if current.left: st.append(current.left)
Comment

depth first search in python

# Python program to print DFS traversal for complete graph
from collections import defaultdict
  
# This class represents a directed graph using adjacency
# list representation
class Graph:
  
    # Constructor
    def __init__(self):
  
        # default dictionary to store graph
        self.graph = defaultdict(list)
  
    # function to add an edge to graph
    def addEdge(self,u,v):
        self.graph[u].append(v)
  
    # A function used by DFS
    def DFSUtil(self, v, visited):
  
        # Mark the current node as visited and print it
        visited[v]= True
        print v,
  
        # Recur for all the vertices adjacent to
        # this vertex
        for i in self.graph[v]:
            if visited[i] == False:
                self.DFSUtil(i, visited)
  
  
    # The function to do DFS traversal. It uses
    # recursive DFSUtil()
    def DFS(self):
        V = len(self.graph)  #total vertices
  
        # Mark all the vertices as not visited
        visited =[False]*(V)
  
        # Call the recursive helper function to print
        # DFS traversal starting from all vertices one
        # by one
        for i in range(V):
            if visited[i] == False:
                self.DFSUtil(i, visited)
  
  
# Driver code
# Create a graph given in the above diagram
g = Graph()
g.addEdge(0, 1)
g.addEdge(0, 2)
g.addEdge(1, 2)
g.addEdge(2, 0)
g.addEdge(2, 3)
g.addEdge(3, 3)
  
print "Following is Depth First Traversal"
g.DFS()
  
# This code is contributed by Neelam Yadav
Comment

Python depth first search

from collections import defaultdict

class Graph:
    def __init__(self):
        self.graph = defaultdict(list)
    
    def addEdge(self, u, v):
        self.graph[u].append(v)
        print("This is u" , u)
        
    def DFSUtil(self, v, visited):
        visited.add(v)
        print(v, end=" ")

        for neighbor in self.graph[v]:
            if neighbor not in visited:
                self.DFSUtil(neighbor, visited)
    
    def DFS(self, v):
        visited = set()
        self.DFSUtil(v, visited)

if __name__ == "__main__":
    g = Graph()
    g.addEdge(0, 1)
    g.addEdge(0, 2)
    g.addEdge(1, 2)
    g.addEdge(2, 0)
    g.addEdge(2, 3)
    g.addEdge(3, 3)

    print("It's done")
    g.DFS(2)
Comment

python depth first search

# left to right, pre-order depth first tree search, recursive. O(n) time/space
def depthFirstSearchRec(root):
    if root == None: return
    print(root)
    depthFirstSearch(root.left)
    depthFirstSearch(root.right)
Comment

PREVIOUS NEXT
Code Example
Python :: confusion matrix for classification 
Python :: pd.get_dummies 
Python :: next iteration python 
Python :: python convert json string to class 
Python :: sum of a numpy array 
Python :: add a button on tkinter 
Python :: Week of the year Pandas 
Python :: get week from datetime python 
Python :: create dict from two lists 
Python :: how to get all messages from a telegram group with telethon 
Python :: how to get the parent class using super python 
Python :: xml.parsers.expat.ExpatError: not well-formed (invalid token): line 1, column 0 
Python :: undefined in python 
Python :: python is program running 
Python :: random python range 
Python :: max value indices 
Python :: python add one month to a date 
Python :: initialize a 2d list python 
Python :: itertools .cycle() 
Python :: read list from txt python 
Python :: select python 
Python :: delete rows in a table that are present in another table pandas 
Python :: live server python 
Python :: python file back to beginning 
Python :: how to have player input in python 
Python :: regex for digits python 
Python :: double variable for loop python 
Python :: find next multiple of 5 python 
Python :: streamlit headings;streamlit text 
Python :: python node class 
ADD CONTENT
Topic
Content
Source link
Name
6+6 =