Melhor resposta
A melhor maneira, em minha opinião, de entender algoritmos é dissecar um algoritmo de cada vez.
O objetivo aqui é resolver um problema maior dividindo-o em problemas menores e mais gerenciáveis. Quanto mais algoritmos você entender ao dissecá-los, melhor se tornará.
Aqui está a definição aproximada de um algoritmo :
Um algoritmo é um conjunto de instruções projetadas para realizar uma tarefa específica.
Existem literalmente milhares de algoritmos em muitos campos como matemática computacional envolvendo as disciplinas de matemática e ciência da computação, astronomia, bioinformática, geociência, linguística, medicina, física, estatística e muito mais !!
Aqui estão alguns algoritmos que são extremamente úteis até o momento:
- Algoritmo de ordenação por inserção
- Algoritmo de ordenação por seleção
- Algoritmo de ordenação por bolha
- Algoritmo de ordenação por fusão
- Quicksort algoritmo
- algoritmo de pesquisa binária
- algoritmo de amplitude primeira pesquisa (BFS)
- algoritmo de profundidade de primeira pesquisa (DFS) oritmo
- Subsequência crescente mais longa
- Algoritmo Bellman-Ford
- Algoritmos de transferência de árvore para pedido, pré-pedido e pós-pedido
- Algoritmo de classificação de heap
- Algoritmo de Kruskal para encontrar a árvore de abrangência mínima
- Algoritmo de Dijkstra
- algoritmo de Prim
- Algoritmo Floyd – Warshall
- Algoritmo de Johnson
- algoritmo de Hopcroft – Karp
- algoritmo de Edmonds – Karp
- algoritmo de Ford – Fulkerson
- algoritmo de Karger
- Algoritmo do caminho mais curto euclidiano
- algoritmo de exclusão reversa
- Um * algoritmo de pesquisa
- algoritmo de retrocesso
- Pesquisa de feixe algoritmo
- algoritmo D *
- algoritmo de busca de força bruta
- algoritmo SSS *
- algoritmo F *
- Aprofundamento iterativo algoritmo de profundidade de primeira pesquisa
- algoritmo de Bron – Kerbosch
- algoritmo de clique máximo MaxCliqueDyn
- algoritmo de componentes fortemente conectados de Tarjan
- Kosaraju “s algoritmo
- Hamming algoritmo de cálculo de distância
- Algoritmo de cálculo de memória distribuída esparsa que foi um grande avanço para resolver o problema KNN ou Post-Office que era um problema de otimização de busca de vizinho mais próximo.
Eu posso ir em, mas, você entendeu. Tudo isso pode parecer um pouco intimidante, mas se você escolher um primeiro e decidir dedicar tempo para entendê-lo. dividir um algoritmo de sua escolha em seções menores para compreensão, então dá a você uma motivação com um poder que você também pode resolver um problema que o algoritmo resolve. Sua mente se enche de alegria de inteligência. E você se pergunta que problema da vida real pode resolver aplicando o que aprendeu. Acho que estou me desviando.
Bem, para entender melhor alguns deles, você precisa se preparar para pensar como se fosse você, quem está fazendo as tarefas.
Se o futuro do campo da ciência da computação é um pedaço de pano infinitamente tecido, com inúmeras cores e outras características como decorações e contas e outros enfeites, então algoritmos são os fios que unem tudo.
Aqui está uma citação de Donald Knuth,
Algo magicamente belo acontece quando uma sequência de comandos e decisões é capaz de organizar uma coleção de dados em padrões ou para descobrir estruturas ocultas.
Você já tentou seguir uma receita? Se você entendeu, então você entendeu algoritmos, agora é sua hora de fazer o computador entendê-los também!
A maioria dos problemas da Ciência da Computação são problemas matemáticos. Então, você precisa entender a resolução de problemas matemáticos, se quiser inovar no mundo da Ciência da Computação.
Existem algumas propriedades de cada algoritmo que você enfrentará, elas são as seguintes:
- Finitude: um algoritmo PODE ser ilimitado, mas as etapas devem terminar, ou seja, o número de etapas em um algoritmo é sempre finito.
- Definição: definição significa, “Cada etapa deve ser corretamente e exatamente definidos ”.
- Input ou Inputs: Este é bastante autoexplicativo. Mesmo que um algoritmo não receba nenhuma entrada, podemos dizer que é 0 entrada.
- Saída ou saídas: Assim como o número de entradas, exceto que um algoritmo deve ter pelo menos uma saída.
- Eficácia: As operações envolvidas em um algoritmo devem ser mensuráveis para comparar a eficácia ou a eficiência dos algoritmos comparados. Geralmente, a quantidade de tempo e espaço que um algoritmo ocupa é uma medida justa da eficiência desse algoritmo.
Se você tiver qualquer outra pergunta, deixe uma mensagem!
Até a próxima! Fique seguro, tome cuidado!
✍Ezaz Akhtar!
Resposta
aprenda uma linguagem de programação primeiro
Eu preferiria Python como um bom começo. É fácil codificar e muitos métodos integrados estão incluídos. use o python e comece a resolver enigmas, como os enigmas do site do Hckerrank.
Usar o algoritmo é a maneira mais fácil de entendê-los.