# Create a node - the datapoints within the graph class Node: definit_(self, x, y): self.x = x self.y = y self.neighbours = list() # Start function - acts as a starting point for the flood fill algorithm def start(): # Sample image represented as 2D array of numbers image = [ [1,0,0,0,0], [1,1,0,1,0], [0,1,1,1,0], [0,1,1,1,1], [0,1,1,0,1] ] graph= Graph() print(graph.floodFill(image, 2, 2, 2)) # DO NOT REMOVE THIS RETURN STATEMENT! return graph # The flood fill algorithm - flood fill algorithm using breadth first search class Graph: numberOfNonUniqueEdges = 0 visited=set()

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Can you help me on two section of this code. I need some guidance 

The code has to  implement the flood fill algorithm, identifys and changes the marked pixels.

  • blank pixels are ignored.
  • I understand I can use any breadth first search algorithm.

The code is partially written belowDO NOT re-write any code. Just need assistance where its highlighted in yellow
 

Please dont copy the previous bartleby tutors repsonse or fro any other source 

# Create a node - the datapoints within the graph
class Node:
def __init__(self, x, y):
self.x = x
self.y = y
self.neighbours = list()
# Start function - acts as a starting point for the flood fill algorithm
def start():
# Sample image represented as 2D array of numbers
image = [
[1,0,0,0,0],
[1,1,0,1,0],
[0,1,1,1,0],
[0,1,1,1,1],
[0,1,1,0,1]
]
graph = Graph()
print(graph.flood Fill(image, 2, 2, 2))
# DO NOT REMOVE THIS RETURN STATEMENT!
return graph
# The flood fill algorithm - flood fill algorithm using breadth first search
class Graph:
numberOfNonUniqueEdges = 0
visited=set()
def floodFill(self, image, x, y, pixel):
start Node(x, y)
queue = list()
queue.append(start)
# Remember to add the x and y coordinates of newly discovered nodes to the visited set
###
### YOUR CODE HERE
###
# Return the modified image represented as 2D array of numbers
return image
def neighbours(self, image, x, y, currentNode):
U=y-1
D=y+1
L=x-1
R = x + 1
# An edge is valid if the pixel is newly discovered, i.e. an edge is created when the neighbour's
pixel value is one.
# Write the neighbours function to find the neighbours in four directions for a given pixel.
# Append
valid Node to the neighbours of the currentNode
#Remember to do boundary checking
###
### YOUR CODE HERE
###
### DO NOT REMOVE THIS LINE ###
self.numberOfNonUniqueEdges = self.numberOfNonUniqueEdges + len(currentNode.neighbours)
### ## ### ###### #### #### ####
# Return the current node's (the pixel in question) neighbours, not always a maximum of four.
# Call the start function
return currentNode.neighbours
graph = start()
●●●
Transcribed Image Text:# Create a node - the datapoints within the graph class Node: def __init__(self, x, y): self.x = x self.y = y self.neighbours = list() # Start function - acts as a starting point for the flood fill algorithm def start(): # Sample image represented as 2D array of numbers image = [ [1,0,0,0,0], [1,1,0,1,0], [0,1,1,1,0], [0,1,1,1,1], [0,1,1,0,1] ] graph = Graph() print(graph.flood Fill(image, 2, 2, 2)) # DO NOT REMOVE THIS RETURN STATEMENT! return graph # The flood fill algorithm - flood fill algorithm using breadth first search class Graph: numberOfNonUniqueEdges = 0 visited=set() def floodFill(self, image, x, y, pixel): start Node(x, y) queue = list() queue.append(start) # Remember to add the x and y coordinates of newly discovered nodes to the visited set ### ### YOUR CODE HERE ### # Return the modified image represented as 2D array of numbers return image def neighbours(self, image, x, y, currentNode): U=y-1 D=y+1 L=x-1 R = x + 1 # An edge is valid if the pixel is newly discovered, i.e. an edge is created when the neighbour's pixel value is one. # Write the neighbours function to find the neighbours in four directions for a given pixel. # Append valid Node to the neighbours of the currentNode #Remember to do boundary checking ### ### YOUR CODE HERE ### ### DO NOT REMOVE THIS LINE ### self.numberOfNonUniqueEdges = self.numberOfNonUniqueEdges + len(currentNode.neighbours) ### ## ### ###### #### #### #### # Return the current node's (the pixel in question) neighbours, not always a maximum of four. # Call the start function return currentNode.neighbours graph = start() ●●●
Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY