# Is there any way to check if the neighbors of edge element in an 2-D matrix array?

I’m trying to find the neighbors of each element in an 2-D NumPy matrix array for the Breadth-First Search algorithm. I have come to a code that was able to walk through an array in which the number of rows equal to number of columns. However, I failed to implement the code when the number of rows does not equal to the number of columns. Can someone give me any suggestion to make my code works properly?

`def BreadthFirstSearch(max_row, max_col): visited = list() nam_queue = list() start = (0, 0) nam_queue.append(start) while len(nam_queue) != 0: coor = nam_queue[0] nam_queue.pop(0) visited.append(coor) dx = coor[0] dy = coor[1] # Check Neighbors if dx >= max_row-1: if dy >= max_col-1: continue else: below_val = (dx, dy+1) if below_val not in nam_queue and below_val not in visited: nam_queue.append(below_val) elif dy >= max_col-1: if dx >= max_col-1: continue else: next_val = (dx+1, dy) if next_val not in nam_queue and next_val not in visited: nam_queue.append(next_val) else: next_val = (dx+1, dy) below_val = (dx, dy+1) if next_val not in nam_queue and next_val not in visited: nam_queue.append(next_val) if below_val not in nam_queue and below_val not in visited: nam_queue.append(below_val) return visited `