Fermé

Programa em linguagem Scala com cerca de 20 linhas

Implementar uma versão preguiçosa do algoritmo

de Dijkstra.

Implementar uma versão preguiçosa do algoritmo de Dijkstra utilizando a linguagem Scala.

Considere as seguintes classes, utilizadas para representar um digrafo ponderado:

case class Arc[V] (tail: V, head: V, weight: Int)

class Digraph[V] private (out: Map[V, List[Arc[V] ] ] = Map[V, List[Arc[V] ] ] ( ) ) {

def +(t: (V, V, Int) ): Digraph[V] = {

val (x, y, w) = t

new Digraph[V] (out + ( (x → (Arc[V] (x, y, w)::[login to view URL](x, Nil) ) ),

(y → [login to view URL](y, Nil) ) ) )

}

def size: Int = [login to view URL]

override def toString = [login to view URL]

}

object Digraph {

def apply[V] = new Digraph[V] ( )

}

Como de costume, seja D = (V, A) um digrafo e ω : A → N uma função custo que associa a cada arco a ∈ A um custo ω(a). Lembre-se que ∗a denota a ponta inicial de a e a∗ denota a ponta final de a. O processamento do algoritmo é sumarizado numa função step(d, C) que recebe d : X → N tal que d(x) é o custo de um sx-caminho ω-mínimo e C ⊇ ~δX e que consiste em:

Caso 1 C = ∅. Neste caso, devolva d.

Caso 2 C 6= ∅. Neste caso, selecione a ∈ C tal que α = d(∗a) + ω(a) é mínimo. Há dois casos a considerar:

1 Caso 2.1 a∗ ∈ X. Neste caso, devolva step(d, C \ {a}).

Caso 2.2 a∗ ∈/ X. Neste caso, devolva step(d ∪ {(a∗, α)}, C ∪ ~δ(a∗)).

A chamada inicial que produzirá os custos dos caminhos mínimos é step({(s, 0)}, ~δs). Implemente este algoritmo em Scala.

Compétences : Scala

en voir plus : programador em linguagem ruby on rails em sc, contrato de prestação de serviço de freelance com reserva de dieitos autorais, emprego cozinheiro freelancer em são paulo são paulo, emprego eventos free lancer em são paulo são paulo, emprego eventos freelancer em são paulo são paulo, emprego free lance em são paulo são paulo, emprego free lancer em ribeirão preto são paulo, traduzir em português com translator i want make fifty of grey with you, algoritmo e estrutura de dados em linguagem ruby on rails, desenvolvedor freelancer de programas em linguagem assembly, free lance em buffet e com sp, freelancer em linguagem de sinais, freelancer em linguagem java, http icdip thaichilddevelopement com add 20 20children php, https www programscomputerfree com programs 20, quanto custa em media site com web designer, vaga para freelancer em brasilia df com telefone para contato, vagas de cortador em graficas ou flelance em santo andre com telefone, programa em c, SEO my Website Erptraining9.com for 20 keywords

Concernant l'employeur :
( 0 commentaires ) São Paulo, Brazil

Nº du projet : #22729896

1 freelance fait une offre moyenne de $8 pour ce travail

AdelinoGarcia

Iam very dedicated to what it is important to me... and right now it is doing this exercise. I will be glad to live this experience... because i love programming challenge. (Sorry for my english)

$8 USD / heure
(0 Commentaires)
0.0