def bfs(node):
    '''
    queue = Queue()
    mark node as discovered
    add to queue

    while queue not empty
        curNode = queue.dequeue()

        for children of curNode
            if undiscovered
                add to queue()
                

    '''
    pass

