Esempio n. 1
0
    def buscar(self, atual):
        print("\nAtual: {}\nMeus adjacentes são:".format(atual.nome))
        atual.visitado = True
        Buscagulosa.rota += atual.nome

        if atual == self.objetivo:
            self.achou = True
            print("Minha rota foi: {}".format(Buscagulosa.rota))
            print("Meu custo foi: {}".format(Buscagulosa.custo))
        else:
            self.fronteira = VetorOrdenado(len(atual.adjacentes))
            self.fronteira_adjacentes = VetorOrdenadoAdjacente(
                len(atual.adjacentes))
            for i in atual.adjacentes:

                if i.cidade.visitado == False:
                    i.cidade.visitado = True
                    self.fronteira.inserir(i.cidade)
                    self.fronteira.mostrar()
            if self.fronteira.getPrimeiro() != None:
                Buscagulosa.custo += i.distancia

            if self.fronteira.getPrimeiro() != None:

                Buscagulosa.buscar(self, self.fronteira.getPrimeiro())
Esempio n. 2
0
    def buscar(self, atual):
        print('\nAtual->{}'.format(atual.nome))
        atual.visitado = True

        if (atual == self.objetivo):
            self.achou = True
        else:
            self.fronteira = VetorOrdenado(len(atual.adjacentes))
            for a in atual.adjacentes:
                if a.cidade.visitado == False:
                    a.cidade.visitado = True
                    self.fronteira.inserir(a.cidade)
            self.fronteira.mostrar()
            if (self.fronteira.getPrimeiro() != None):
                Gulosa.buscar(self, self.fronteira.getPrimeiro())
Esempio n. 3
0
    def buscar(self, atual):
        print("\nAtual: {}".format(atual.nome))
        atual.visitado = True

        if atual == self.objetivo:
            self.achou = True
        else:
            self.fronteira = VetorOrdenado(len(atual.adjacentes))
            for i in atual.adjacentes:
                if i.cidade.visitado == False:
                    i.cidade.visitado = True
                    self.fronteira.inserir(i.cidade)
            self.fronteira.mostrar()
            if self.fronteira.getPrimeiro() != None:
                Busca_gulosa.buscar(self, self.fronteira.getPrimeiro())
Esempio n. 4
0
class BuscaGulosa:
    def __init__(self, objetivo):
        self.objetivo = objetivo
        self.achou = False

    def buscar(self, atual):
        print("\nAtual: {}".format(atual.nome))
        atual.visitado = True

        if atual == self.objetivo:
            self.achou = True
        else:
            self.fronteira = VetorOrdenado(len(atual.adjacentes))
            for a in atual.adjacentes:
                if a.cidade.visitado == False:
                    a.cidade.visitado = True
                    self.fronteira.inserir(a.cidade)
            self.fronteira.mostrar()
            if self.fronteira.getPrimeiro() != None:
                BuscaGulosa.buscar(self, self.fronteira.getPrimeiro())
Esempio n. 5
0
def insere_ordenado(lista):
    vetor = VetorOrdenado(len(lista))
    for i in lista:
        vetor.insere(i)
    return vetor 
from VetorOrdenado import VetorOrdenado
from Mapa import Mapa
mapa = Mapa()
vetor = VetorOrdenado(16)

def CriarMapaOrdenado():
    vetor.inserir(mapa.A)
    vetor.inserir(mapa.B)
    vetor.inserir(mapa.C)
    vetor.inserir(mapa.D)
    vetor.inserir(mapa.K)
    vetor.inserir(mapa.J)
    vetor.inserir(mapa.L)
    vetor.inserir(mapa.M)
    vetor.inserir(mapa.G)
    vetor.inserir(mapa.H)
    vetor.inserir(mapa.N)
    vetor.inserir(mapa.O)
    vetor.inserir(mapa.E)
    vetor.inserir(mapa.F)
    vetor.inserir(mapa.R)
    vetor.inserir(mapa.S)


CriarMapaOrdenado()
vetor.buscar()
vetor.mostrar()