Estes algoritmos inicialmente citados são algoritmos do tipo acadêmicos, ou seja são algoritmos que são usados para desenvolver o raciocínio lógico de quem está começando a entrar no mundo da programação, desenvolver algoritmos exatamente igual a eles provavelmente nunca será necessário mais se vc abalizá-los bem verá que dentro deles existem linhas de códigos que são bastante úteis em seu dia dia.
ja o dads é um dicionario de algoritmos muito util…
E
entanglement
Um algoritmo que você vai usar muito, embora você nem se dê conta disso, é o que percorre uma árvore qualquer, como uma árvore de diretórios.
Você pode percorrê-la em profundidade ou então em largura.
R
rael_gc
Eu já discordo que são apenas algoritmos acadêmicos. O caixeiro viajante, e suas evoluções heurísticas, são amplamente usados em cálculo de rotas, principalmente em empresas que trabalham com logística.
Digo isso pq trabalhei bastante tempo na área. Provavelmente os outros algoritmos (e evoluções) são usados em vários cantos ou áreas de atuação.
J
Jauns
steniobh:
Estes algoritmos inicialmente citados são algoritmos do tipo acadêmicos, ou seja são algoritmos que são usados para desenvolver o raciocínio lógico de quem está começando a entrar no mundo da programação, desenvolver algoritmos exatamente igual a eles provavelmente nunca será necessário mais se vc abalizá-los bem verá que dentro deles existem linhas de códigos que são bastante úteis em seu dia dia.
ja o dads é um dicionario de algoritmos muito util…
Eu queria na verdade achar algum algoritmo pratico para ser usado em um SD, tipo criar um agente movel que possa fazer um inventario em um parque de maquinas sem ter q instalar algo em maquina por maquina.
J
Jauns
[quote=entanglement]Você pode consultar o famoso DADS -
Obrigado pela dica.
E
entanglement
SD = ? (Decerto não é “Secure Digital Card” que é aquele cartãozinho de memória).
De qualquer maneira, a parte de inventário precisa de alguma coisa a ser instalada, normalmente não em Java. Procure por “SNMP”.
T
Tchello
Algoritmos genéticos idem, tem utilidades a bessa.
J
Jauns
entanglement:
SD = ? (Decerto não é “Secure Digital Card” que é aquele cartãozinho de memória).
De qualquer maneira, a parte de inventário precisa de alguma coisa a ser instalada, normalmente não em Java. Procure por “SNMP”.
Sistema Distribuido - Um sistema de processamento distribuído ou paralelo é um sistema que interliga vários nós de processamento (computadores individuais, não necessariamente homogéneos) de maneira que um processo de grande consumo seja executado no nó “mais disponível”, ou mesmo subdividido por vários nós. Conseguindo-se, portanto, ganhos óbvios nestas soluções: uma tarefa qualquer, se divisível em várias subtarefas pode ser realizada em paralelo.
SD = ? (Decerto não é “Secure Digital Card” que é aquele cartãozinho de memória).
De qualquer maneira, a parte de inventário precisa de alguma coisa a ser instalada, normalmente não em Java. Procure por “SNMP”.
Sistema Distribuido - Um sistema de processamento distribuído ou paralelo é um sistema que interliga vários nós de processamento (computadores individuais, não necessariamente homogéneos) de maneira que um processo de grande consumo seja executado no nó “mais disponível”, ou mesmo subdividido por vários nós. Conseguindo-se, portanto, ganhos óbvios nestas soluções: uma tarefa qualquer, se divisível em várias subtarefas pode ser realizada em paralelo.
Estes algoritmos inicialmente citados são algoritmos do tipo acadêmicos, ou seja são algoritmos que são usados para desenvolver o raciocínio lógico de quem está começando a entrar no mundo da programação, desenvolver algoritmos exatamente igual a eles provavelmente nunca será necessário mais se vc abalizá-los bem verá que dentro deles existem linhas de códigos que são bastante úteis em seu dia dia.
ja o dads é um dicionario de algoritmos muito util…
Não existe algoritmo do tipo academico. Algoritmos são algoritmos em qualquer lugar. A computação é algoritmo.
*caxeiro viajante - È um problema, e não é um algoritmo. Ele pode ser resolvido usando um algoritmo de busca e otimização como GAs(Algoritmos genéticos).
Os GAs são usados para otimizar e/ou encontrar a melhor resposta possível para determinado tipo de problema(busca).
Ex: Pode usar GAs para escolher a melhor equação, e otimizar COCOMO(calcular o tempo e custo de um projeto de software)
reconhecimento de padrões - é um problema que pode ser resolvido com um perceptron, e um algoritmo de treinamento(backpropagation, etc…)
Reconcecimento de padrões é um problema comum do nosso dia a dia. Existem diversas aplicações(leitor de digitais, faces, iris, …) que utilizam rna(redes neurais artificiais) para resolvê-lo.
Esses algoritmos citados são tecnicas de inteligencia artificial.
Até o bublesort tem sua importância.
A
Andre_Brito
A técnica de Algoritmo Genético já é obsoleta… Se você quer entrar nessa área de Computação Natural, é o Algoritmo certo a se estudar.
Agora, pra encontrar melhores resultados em um problema, testes com diversas outras técnicas: Algoritmos Meméticos, SIA, Colônia de formigas (ACO), Enxame de partículas (PSO), Enxame de abelhas… Redes Neurais e (mais uma técnica que não consigo lembrar o nome… tem a ver com hiperplanos… po, não consigo me lembrar o nome são boas pedidas também.
Procure, no Google, por “Bio-inspired models for Computing”.
J
juliocbq
Andre Brito:
A técnica de Algoritmo Genético já é obsoleta… Se você quer entrar nessa área de Computação Natural, é o Algoritmo certo a se estudar.
Agora, pra encontrar melhores resultados em um problema, testes com diversas outras técnicas: Algoritmos Meméticos, SIA, Colônia de formigas (ACO), Enxame de partículas (PSO), Enxame de abelhas… Redes Neurais e (mais uma técnica que não consigo lembrar o nome… tem a ver com hiperplanos… po, não consigo me lembrar o nome são boas pedidas também.
Procure, no Google, por “Bio-inspired models for Computing”.
Não existe um algoritmo obsoleto. Podemos dizer que são especializados e aprimorados. Para o cacheiro viajante, o GA é muito forte, batendo de londe o perceptron…
E
elciok
Andre Brito:
e (mais uma técnica que não consigo lembrar o nome… tem a ver com hiperplanos… po, não consigo me lembrar o nome
André,
Support Vector Machines (máquinas de suporte vetoriais)?
A
alanrodrigues
Conhece os algoritmos de ordenação?
Bubblesort, mergesort,
Um outro bem interessante é o algoritmo de Huffman…
J
juliocbq
alanrodrigues:
Conhece os algoritmos de ordenação?
Bubblesort, mergesort,
Um outro bem interessante é o algoritmo de Huffman…
O huffman é utilizado no formato de arquivos zip. Ele é um algoritmo de compressão. Alguns formatos de imagem usam uma variação dele, como é o caso do jpeg.
A
Andre_Brito
elciok:
Andre Brito:
e (mais uma técnica que não consigo lembrar o nome… tem a ver com hiperplanos… po, não consigo me lembrar o nome
André,
Support Vector Machines (máquinas de suporte vetoriais)?
Exatamente… Me fugiu completamente esse nome :
Valeu, Elcio.
T
Tchello
Já que citaram huffmann não posso deixar de citar LZ77, DES (e sua variação 3DES), RSA, etc…
Os mais clássicos á foram todos no primeiro post, Djikstra, Cacheiro viajante, etc…
Os que sempre me despertaram mais interesse foram os aplicados sobre grafos, taí uma estrutura de dados que eu adoro por tudo que a compõe.
Recomendo fortemente a leitura do livro “Linked” de Albert Lazlo Barabasi (sujeito a erros, o nome tem uns detalhesinhos chatos hehe).
Abraços.
R
rmendes08
O que acontece é na maioria das vezes utilizamos implementações prontas desses algoritmos, então parece que nós não usamos. Mas mesmo usando implementações prontas é preciso conhecê-los para escolher o mais apropriado em determinada situação.
A
Alexandre_Gazola
Algoritmos são muito importantes, principalmente os que se relacionam à ordenação e teoria de grafos. Muitos deles temos prontos em linguagens que dispõem de boas bibliotecas, mas nem sempre é o caso.
abraços
J
juliocbq
todo programa de computador é um algoritmo. A lógica influencia diretamente na qualidade do software, e na sua pracisão, ao realizar uma tarefa.