Search
 
SCRIPT & CODE EXAMPLE
 

PYTHON

tree breadth first search

const breadthFirstTraversal = (root) => {
  if (root === null) return [];

  const result = [];
  const queue = [root];

  while (queue.length > 0) {
    const current = queue.shift();
    result.push(current.data);
    if (current.left) queue.push(current.left);
    if (current.right) queue.push(current.right);
  }
  return result;
};
Comment

Breadth First Search

graph = {
  '5' : ['3','7'],
  '3' : ['2', '4'],
  '7' : ['8'],
  '2' : [],
  '4' : ['8'],
  '8' : []
}

visited = [] # List for visited nodes.
queue = []     #Initialize a queue

def bfs(visited, graph, node): #function for BFS
  visited.append(node)
  queue.append(node)

  while queue:          # Creating loop to visit each node
    m = queue.pop(0) 
    print (m, end = " ") 

    for neighbour in graph[m]:
      if neighbour not in visited:
        visited.append(neighbour)
        queue.append(neighbour)

# Driver Code
print("Following is the Breadth-First Search")
bfs(visited, graph, '5')    # function calling
Comment

Breath First Search

// Java Breath First Search
// ------------------------

import java.util.*;                

public class BreathFirstSearch {

    int V;
    ArrayList<Integer> adj[];

    BreathFirstSearch(int noofvertex) {
        V = noofvertex;
        adj = new ArrayList[noofvertex];
        for (int i = 0; i < noofvertex; i++) {
            adj[i] = new ArrayList<>();
        }
    }

    void edge(int x, int y) {
        adj[x].add(y);
    }

    void bfs(int sourcevertex) {
        boolean[] visited = new boolean[V];
        ArrayList<Integer> a1 = new ArrayList<Integer>();
        visited[sourcevertex] = true;
        a1.add(sourcevertex);
        while (!a1.isEmpty()) {
            sourcevertex = a1.remove(0);
            System.out.print(sourcevertex + "");
            Iterator i = adj[sourcevertex].iterator();
            while (i.hasNext()) {
                int n = (int)  i.next();
                if (!visited[n]) {
                    visited[n] = true;
                    a1.add(n);
                }
            }
        }

    }

    public static void main(String[] args) {
        BreathFirstSearch g1 = new BreathFirstSearch(6);
        g1.edge(0, 1);
        g1.edge(0, 2);
        g1.edge(0, 5);
        g1.edge(1, 0);
        g1.edge(1, 2);
        g1.edge(2, 0);
        g1.edge(2, 1);
        g1.edge(2, 3);
        g1.edge(2, 4);
        g1.edge(3, 2);
        g1.edge(4, 2);
        g1.edge(4, 5);
        g1.edge(5, 0);

        g1.bfs(0);
    }
}
Comment

breadth first search

BFS-> uses queue
DFS-> uses stack or recursion (less code)
NOTE: same idea algo wise for both

IDEA:
1 declare the DS(if bfs-DS will be queue,if dfs-stack)
2 push the start node to DS
3 when you push you mark it as visited
4 until the DS is not empty run a loop
5 inside loop pop the DS(deque for queue or pop for stack) and save it in a new object actual
6 loop through the neighbors of actual
7 if the current neighbor n is not visited
8 then push n in DS
9 mark n as visited in the next line.
Comment

breadth First

class BinaryTree {
  constructor(root = null) {
      this.root = root;
  }


  breadthFirst() {
let result = [];
let queue=[];
let current = this.root;
queue.push(current);

    while(queue.length){
current=queue.shift();
result.push(current.data);
if(current.left) queue.push(current.left);
if(current.right) queue.push(current.right);
    }
return result;
  }
}

//if you find this answer is useful ,
//upvote ⇑⇑ , so can the others benefit also . @mohammad alshraideh ( ͡~ ͜ʖ ͡°)
Comment

breadth first search tip

remember for breadth first searches, you are putting the vertex of your graph into a queue and that determines the order they are travelled
Comment

PREVIOUS NEXT
Code Example
Python :: check if key exists in sesson python flask 
Python :: python with 
Python :: python split at index 
Python :: django loginview 
Python :: python pandas read_csv tsv 
Python :: abstarct class python 
Python :: python3 tuple 
Python :: if df[col].unique()==2 
Python :: python filter numbers from list 
Python :: abs in python 3 
Python :: python program to display fibonacci sequence using recursion 
Python :: python counter 
Python :: reading a list in python 
Python :: py virtual 
Python :: filter lambda python 
Python :: strip() 
Python :: python tkinter button color 
Python :: python list extend() 
Python :: python count of values in array 
Python :: text to image python 
Python :: count number of element in list 
Python :: python format string 
Python :: python check date between two dates 
Python :: maximum count of replacements in python 
Python :: Does np.tile Work in More Than 2 Dimensions 
Python :: how to do merge sort in python 
Python :: python scipy put more weight to a set value in curve_fit 
Python :: usign signal files django 
Python :: dataframe to csv 
Python :: how to draw threshold line in bar graph python 
ADD CONTENT
Topic
Content
Source link
Name
2+7 =