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 :: remove first item form dictionary python 
Python :: pandas count number of rows with value 
Python :: stop function python 
Python :: numpy mean 
Python :: add element in set python 
Python :: tkinter dialog box 
Python :: how to convert csv to excel in python 
Python :: create exact window size in python tkinter 
Python :: import discord python 
Python :: xpath start-with 
Python :: python function vs lambda 
Python :: Copying a list using deepcopy() in python 
Python :: declare empty var python 
Python :: cv2.copyMakeBorder 
Python :: append extend python 
Python :: install python3 in ubuntu 
Python :: unique value python 
Python :: iterating through a list in python 
Python :: paradigm meaning in python 
Python :: pandas sort dataframe by index 
Python :: python open google 
Python :: python crop string 
Python :: change forms labels django 
Python :: django message 
Python :: how to get first element of array in python 
Python :: convert string to lowercase in python 
Python :: python add comma each 3 digits format 
Python :: pandas currency to numbe 
Python :: openpyxl read cell value 
Python :: python crear dataframe 
ADD CONTENT
Topic
Content
Source link
Name
4+8 =