#Pré ordem, em ordem, pós-ordem, lista, lista circular encadeada, bfs, bfs
#-----percursos
def pre_ordem():
    print("visita no")
    print("visita esq")
    print("visita direita")
def em_ordem():
    print("visita esq")
    print("visita no")
    print("visita direita")
def pos_ordem():
    print("visita esq")
    print("visita direita")
    print("visita no")
#----------------filas
def lista():
    print("enter com numero")
    print("digite o proximo")
def lista_c_encadeada()
    print("inicio")
    print("final")
    """
    A lista circular é uma espécie de lista simplesmente ou duplamente
    encadeada, com uma característica adicional para o deslocamento na
    lista, "ela não tem fim". Para tornar a lista interminável, o ponteiro
    seguinte do último elemento apontará para o primeiro elemento da lista,
    em vez do valor NULL, como vimos no caso das listas simplesmente e
    duplamente encadeadas.
    """
#-----------buscas
#bfs:
def bfs():
    print("algoritmo:")
    print("""enquanto a fila nao estiver vazia
                tire um vertice v
                para cada vizinho w de v
                   se w não esta numerado
                     entao numere w
                        ponha w na fila
          """)
#dfs
def dfs():
    print("algoritmo:")
    print("""enquanto a pinha nao esta vazia faca
                seja v o vertice no topo da pinha
                se A(v) nao esta vazio
                   entao tire um arco (v, w) de A(v)
                      se w nao esta marcado
                         entao marque w
                            coloque w no topo da pilha
                        se nao retire v do topo da pilha
          """)