Localizando o algoritmo que você precisa
Video: 7 HACKERS FAMOSOS QUE VOCÊ PRECISA CONHECER
Conteúdo
A tabela a seguir descreve algoritmos e tipos de algoritmos que podem ser úteis para vários tipos de análise de dados. (Você pode encontrar discussões sobre todos estes algoritmos em Algoritmos para Dummies.)
Algoritmo | Descrição | Fazer a ligação útil |
Uma pesquisa | O algoritmo rastreia o custo de nós como ele explora-los usando a equação: f (n) = g (n) + h (n), Onde: n é o identificador de nó g (n) é o custo de atingir o nó tão longe h (n) é o custo estimado para alcançar o objectivo do nodo f (n) é o valor estimado do caminho de n para o objectivo A idéia é procurar os caminhos mais promissores primeiro e evitar caminhos caros. Video: Algoritmo Maior e Menor Numero em C | Standford.edu |
Árvore equilibrada | Uma espécie de árvore que mantém uma estrutura equilibrada através da reorganização de modo que ela pode proporcionar tempos de acesso reduzidos. O número de elementos no lado esquerdo é diferente do número do lado direito por um, no máximo. | WebDocs |
bidirecional Pesquisa | Esta técnica procura simultaneamente a partir do nó raiz eo nó objetivo até que os dois caminhos de pesquisa se encontram no meio. Uma vantagem dessa abordagem é que é tempo eficiente porque ele encontra a solução mais rápida do que muitas outras soluções de força bruta. Além disso, ele usa memória de forma mais eficiente do que outras abordagens e sempre encontra uma solução. A principal desvantagem é a complexidade da implementação. | Planning.cs |
árvore binária | Este é um tipo de árvore que contém os nós que ligam a zero (nós folha), um ou dois (nós de ramificação) outros nós. Cada nó define os três elementos que devem incluir para fornecer conectividade e armazenamento de dados: armazenamento de dados, conexão à esquerda, e ligação direita. | cs.cmu.edu |
Em largura Pesquisa | Esta técnica começa no nó raiz, explora cada um dos nós filhos em primeiro lugar, e só então se move para baixo para o próximo nível. Ele progride nível por nível até encontrar uma solução. A desvantagem deste algoritmo é que ele deve armazenar cada nó na memória, o que significa que ele usa uma quantidade considerável de memória para um grande número de nós. Esta técnica pode verificar se há nós duplicados, o que poupa tempo, e ele sempre vem com uma solução. | Khan Academcy |
Força bruta | Esta é uma técnica de resolução de problemas em que alguém tenta todas as soluções possíveis, procurando a melhor solução do problema. técnicas de força bruta fazer garantir uma solução melhor ajuste quando existir, mas são tão demorado para implementar a maioria das pessoas evitá-los. | Igm.univ |
Depth-Primeira Pesquisa | Esta técnica começa no nó raiz e explora um conjunto de nós filhos conectados até que ele atinja um nó folha. Ele progride ramo por ramo até que encontre uma solução. A desvantagem deste algoritmo é que ele não pode verificar para nós duplicados, o que significa que ele pode atravessar os mesmos caminhos de nó mais do que uma vez. Na verdade, este algoritmo pode não encontrar uma solução em tudo, o que significa que você deve definir um ponto de corte para manter o algoritmo de busca infinitamente. Uma vantagem dessa abordagem é que é memória eficiente. | Hacker Terra |
Dividir e conquistar | Esta é uma técnica de resolução de problemas em que o problema é dividido nos menores pedaços possíveis e resolvido usando a abordagem mais simples possível. Esta técnica economiza tempo e recursos consideráveis quando comparado a outras abordagens, tais como a força bruta. No entanto, nem sempre garante um resultado melhor ajuste. | Khan Academy |
Dijikstra | Este é um algoritmo utilizado para encontrar o caminho mais curto em um ponderado (tendo pesos positivos) grafo orientado,. | Geeks para Geeks |
Gráfico | Um gráfico é uma espécie de extensão árvore. Tal como acontece com árvores, você tem os nós que ligam uns aos outros para criar relacionamentos. No entanto, ao contrário de árvores binárias, um gráfico pode ter mais de uma ou duas conexões. Na verdade, nós gráfico muitas vezes têm uma infinidade de conexões. Você vê gráficos usados em lugares como mapas para GPS e todos os tipos de outros lugares para o qual a abordagem de cima para baixo de uma árvore não vai funcionar. | tutoriais |
algoritmos gulosos | Thistechnique de um de resolução de problemas em que a solução depende a melhor resposta para cada etapa do processo de resolução de problemas. algoritmos gulosos geralmente fazem duas suposições: Fazendo uma única escolha ideal em um dado passo é possível. Ao escolher a seleção ideal em cada passo, encontrar uma solução ideal para o problema geral é possível. | tutoriais |
Greedy Melhor-First Search (BFS) | O algoritmo sempre escolhe o caminho que está mais próximo da meta usando a equação: f (n) = h (n). Este algoritmo particular pode encontrar soluções muito rapidamente, mas também pode ficar preso em loops, muitas pessoas consideram que não é uma abordagem ideal para encontrar uma solução. | Centurion2 |
hashing | Este é um método de prever a localização de um item de dados em particular na estrutura de dados (o que quer que a estrutura possa ser) antes de realmente procurando por ele. Esta abordagem baseia-se no uso de chaves colocados em um índice. A função hash gira a chave em um valor numérico que o algoritmo coloca em uma tabela hash. Uma tabela fornece os meios para criar um índice que aponta para os elementos de uma estrutura de dados de modo a que um algoritmo pode facilmente prever a localização dos dados. | tutoriais |
montão | Esta é uma árvore sofisticado que permite inserções de dados na estrutura árvore. A utilização da inserção de dados faz triagem mais rápido. Você pode classificar ainda mais essas árvores como Max pilhas e pilhas mínimo, dependendo da capacidade da árvore para fornecer de imediato o valor máximo ou mínimo presente na árvore. | tutoriais |
heurísticas | Esta é uma técnica de resolução de problemas que se baseia na auto-descoberta e produz suficientemente resultados úteis (não necessariamente ideal, mas suficientemente bom) para resolver um problema bem o suficiente para que uma melhor solução não é necessário. Auto-descoberta é o processo de permitir que o algoritmo para lhe mostrar um caminho potencialmente útil para uma solução (mas você ainda deve contar com a intuição humana e compreensão para saber se a solução é o caminho certo). | Northwest.edu |
MapReduce | Este é um quadro para a tomada de algoritmos de trabalho usando cálculos em paralelo (usando vários computadores interligados em uma rede), permitindo algoritmos para completar suas soluções mais rápido. | Hadoop Apache |
mergesort | Mergesort é um de uso geral, com base método de comparação dos dados de triagem. Depende de uma abordagem de dividir e conquistar para realizar sua tarefa. | Geeks para Geeks |
Equilíbrio de Nash | Esta é uma teoria dos jogos em que os outros jogadores sabem a estratégia de equilíbrio para os outros jogadores, então ninguém tem nada a ganhar com a mudança de sua estratégia pessoal. Esta teoria vê usar em qualquer situação hostil no qual o jogador deve levar em conta as decisões tomadas por todos os outros jogadores, a fim de ganhar o jogo. | Khan Academy |
Ranking da página | PageRank é um algoritmo para medir o peso de um nó num gráfico. Este algoritmo está na raiz de algoritmos centrais do Google para alimentar pesquisas relevantes para os usuários. | Princeton.edu |
Pure Heurística Pesquisa | Este algoritmo expande nós em ordem de seu custo. Ele mantém duas listas. A lista fechada contém os nós que já exploradas, ea lista aberta contém os nós que ainda deve explorar. Em cada iteração, o algoritmo expande o nó com o menor custo possível. Todos os seus nós filho são colocados na lista fechada e os custos nó filho individuais são calculados. O algoritmo envia os nós filhos com um baixo custo de volta para a lista aberta e exclui os nós filhos com um custo elevado. Consequentemente, o algoritmo realiza uma busca inteligente, baseado em custo para a solução. | World of Computing |
quicksort | Esta é uma estratégia de classificação de uso geral com base em matrizes de particionamento de dados em matrizes menores. Depende de uma abordagem de dividir e conquistar para realizar sua tarefa. | tutoriais |
Árvore desequilibrada | Esta é uma árvore que coloca novos itens de dados onde quer necessárias na árvore sem levar em conta o equilíbrio. Este método de itens acrescentando torna a construção da árvore mais rápido, mas reduz a velocidade de acesso ao pesquisar ou classificar. | Quora |