Qual é a melhor maneira de entender algoritmos?


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:

  1. Algoritmo de ordenação por inserção
  2. Algoritmo de ordenação por seleção
  3. Algoritmo de ordenação por bolha
  4. Algoritmo de ordenação por fusão
  5. Quicksort algoritmo
  6. algoritmo de pesquisa binária
  7. algoritmo de amplitude primeira pesquisa (BFS)
  8. algoritmo de profundidade de primeira pesquisa (DFS) oritmo
  9. Subsequência crescente mais longa
  10. Algoritmo Bellman-Ford
  11. Algoritmos de transferência de árvore para pedido, pré-pedido e pós-pedido
  12. Algoritmo de classificação de heap
  13. Algoritmo de Kruskal para encontrar a árvore de abrangência mínima
  14. Algoritmo de Dijkstra
  15. algoritmo de Prim
  16. Algoritmo Floyd – Warshall
  17. Algoritmo de Johnson
  18. algoritmo de Hopcroft – Karp
  19. algoritmo de Edmonds – Karp
  20. algoritmo de Ford – Fulkerson
  21. algoritmo de Karger
  22. Algoritmo do caminho mais curto euclidiano
  23. algoritmo de exclusão reversa
  24. Um * algoritmo de pesquisa
  25. algoritmo de retrocesso
  26. Pesquisa de feixe algoritmo
  27. algoritmo D *
  28. algoritmo de busca de força bruta
  29. algoritmo SSS *
  30. algoritmo F *
  31. Aprofundamento iterativo algoritmo de profundidade de primeira pesquisa
  32. algoritmo de Bron – Kerbosch
  33. algoritmo de clique máximo MaxCliqueDyn
  34. algoritmo de componentes fortemente conectados de Tarjan
  35. Kosaraju “s algoritmo
  36. Hamming algoritmo de cálculo de distância
  37. 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:

  1. Finitude: um algoritmo PODE ser ilimitado, mas as etapas devem terminar, ou seja, o número de etapas em um algoritmo é sempre finito.
  2. Definição: definição significa, “Cada etapa deve ser corretamente e exatamente definidos ”.
  3. Input ou Inputs: Este é bastante autoexplicativo. Mesmo que um algoritmo não receba nenhuma entrada, podemos dizer que é 0 entrada.
  4. Saída ou saídas: Assim como o número de entradas, exceto que um algoritmo deve ter pelo menos uma saída.
  5. 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.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *