Como melhorar em algoritmos Javascript

Como aprender algoritmos de gravação

Os algoritmos de gravação podem ser complicados, mesmo para o desenvolvedor mais experiente. Muitos deles memorizam todas as diferentes abordagens para um determinado problema. No entanto, e se, em vez disso, olharmos para um diagrama guiado de como analisar um problema para que possamos corrigi-lo?

Este artigo examina algoritmos: o que são, para que são usados recursos e como começar a aprender a escrever algoritmos.

O que é um algoritmo?

Um algoritmo é um conjunto de instruções. Se você comparar um algoritmo com uma receita, poderá ver como é um algoritmo:


Receita de hambúrguer

Tempo de preparação: 10 min

Entrada:

Ingredientes [] - uma lista de artigos que contém o nome do artigo e a quantidade necessária

Ex: [{name: " beef, 85/15 ", quantidade: "2 lb" }, {name : "Queijo americano, Quantidade:" 8 fatias "}, Etc.]

Como chegar [] - uma lista de strings que descrevem as etapas para terminar e apresentar os hambúrgueres para comedores famintos

Ex: ["Jogue fora a carne e separe-a em 8 seções diferentes ‚"," Enrole as seções em uma bola ‚"," Achate cada bola em forma de disco. Todos os discos devem ser do mesmo tamanho, "etc.]

Rendimento: 8 porções


An algoritmo, quando escrito em código, assume que você conhece pelo menos uma linguagem de programação e seus métodos populares, suas estruturas de dados e como usá-la. O conceito é semelhante a como uma receita pressupõe que você conhece certos métodos de cozimento e como usar acessórios de cozinha.

Um algoritmo tem uma entrada e uma saída. O resultado (resolução de um grande problema) vem da resolução de pequenos problemas ao longo do caminho.

Para que serve um algoritmo?

Algoritmos são usados em todos os lugares porque resolvem problemas. computador e desenvolvimento web eles são usados ao escrever código para dizer ao computador para fazer algo.

Se tivéssemos uma lista de nomes, por exemplo, podemos usar um algoritmo de classificação como classificação por bolha para classificar nomes por nome ou sobrenome. Também podemos usar um algoritmo de pesquisa binária para pesquisar um nome nessa mesma lista. Esses são apenas alguns dos algoritmos padrão que você pode usar.

Observe que você nunca realmente terminou de aprender a escrever algoritmos depois de concluir um curso & ndash; você apenas melhora. Veremos uma maneira de aproximá-lo da escrita de algoritmos na próxima seção.

Como aprender a escrever um algoritmo: passo a passo

Aqui estão as dicas passo a passo recomendadas para aprender a escrever algoritmos.

1. Aprenda uma linguagem de programação
Java, JavaScript e Python são linguagens populares ‚Äã‚Ä ãusado para escrever algoritmos de computador. Escolha um idioma e aprenda-o de dentro para fora.

Incorpore estes conceitos ao seu entendimento do idioma escolhido:

2. Estruturas de dados

Você deve ter um bom domínio de estruturas de dados para tornar seus algoritmos mais eficientes. Certifique-se de saber para que serve cada estrutura de dados e como ela funciona.

3. Algoritmos de escrita: o processo de solução de problemas

Você aprendeu uma linguagem de programação básica e estruturas de dados suficientes para começar. Parabéns! Comece.

Comece pequeno. É importante entender os quatro conceitos no tratado de George Pòlya sobre solução de problemas (consulte Recursos . Aqui também foram adicionados alguns passos para analisar sua abordagem geral:

George Pòlya`s guia para resolver problemas

  1. Compreendendo o problema
  2. O que você está procurando?
  3. Pegue o problema e explique-o com suas próprias palavras - tente explicar a alguém que ele não é tecnicamente bom.
  4. Digite palavras-chave do problema para ajudá-lo a construir um plano básico - sem código. Apenas as etapas necessárias para obter uma resposta.
  5. li>
  6. Repita este plano para criar uma solução de código.
    1. Se você não conseguir encontrar uma solução, volte para a etapa n. certifique-se de entender o problema. Você está retornando a saída correta? há algo que você pode ter perdido no prompt de codificação?
  7. Qual é a classificação Big O da sua solução? Há algo que você pode fazer para tornar a solução um algoritmo mais eficiente com referência à complexidade espacial ou complexidade do tempo ?

4. Comece pequeno

Começa com um algoritmo de pesquisa básico que itera através de uma string ou array para encontrar uma entrada. Se a entrada não for encontrada, retorna false. Se for encontrado, retornará true.

Desenvolva este algoritmo para iniciantes e use outras estruturas de dados para ver como outros podem precisar de um processo diferente. Tente classificar as entradas para usar algoritmos de pesquisa mais eficientes.

Use sites para praticar algoritmos como os listados na seção de recursos para melhorar suas habilidades.

5. Mudar para algoritmos mais difíceis

strong>

Após várias iterações, você pode mudar para algoritmos mais difíceis. Neste ponto, você deve ser capaz de recriar alguns dos algoritmos de classificação, incluindo classificação por bolha e classificação por mesclagem. A pesquisa binária também deve fazer parte de sua experiência diária de programação.

Continue usando sites para praticar algoritmos para melhorar suas habilidades. Teste-se com questões rotuladas um pouco mais difíceis para ver como você se sai.

Os melhores cursos e treinamento em algoritmos

Cada um aprende de maneira um pouco diferente. Aqui estão alguns dos melhores cursos e treinamentos de algoritmos disponíveis. Alguns são pagos, mas também existem gratuitos. Esta lista não está em ordem específica.

Cursos de algoritmos on-line

Aqui estão alguns dos melhores cursos de algoritmos disponíveis on-line:

Especialização em algoritmos, Stanford University

  • Cursera
  • 4 cursos:
    • Dividir para regrar, classificar e pesquisar e algoritmos aleatórios
    • Pesquisa gráfica, caminhos mais curtos e estruturas de dados
    • Algoritmo guloso, árvores de cobertura mínima e planejamento dinâmico
    • Roteiros mais curtos revisitados, problemas NP-Completos e o que fazer sobre o assunto
  • 4 meses
  • Pré-requisitos: O curso é independente de linguagem, mas pressupõe que você conheça pelo menos uma linguagem de programação, dados básicos e matemática suficiente para saber quais são as provas.
  • Certificado: $ 49/mês até completar; Auditoria: GRATUITA

O professor Tim Roughgarden, da Universidade de Stanford, ministra cursos de pós-graduação em Algoritmos no Coursera. Esses cursos cobrirão praticamente tudo o que você precisa para ter um bom entendimento de algoritmos para se sair bem em entrevistas técnicas.

Algoritmos, IIT Bombaim

  • edX
  • 6 semanas, 6-8 horas / semana
  • Pré-requisitos: Conhecimento básico de estruturas de dados
  • Certificado verificado: $ 149; Sem certificado: GRATUITO

Este curso faz parte do programa IIT Bombay Fundamentals of Computer Science XSeries. Os tópicos abordados aqui incluem classificação e pesquisa, algoritmos numéricos, algoritmos de string, algoritmos geométricos e algoritmos gráficos.

Cursos gratuitos sobre algoritmos

Introdução aos algoritmos

  • Udacity
  • Califórnia. 4 meses, autodidata
  • Pré-requisitos: pelo menos uma linguagem de programação; O curso usa Python nos exemplos
  • GRATUITO

Este é um curso intensivo gratuito sobre algoritmos de Michael Littman da Udacity. Use os Seis Graus do Fenômeno Kevin Bacon para mostrar como os algoritmos funcionam. Pense nos seis graus de separação - foi dito que todos são seis ou menos laços sociais separados uns dos outros. Use o mesmo conceito, mas com os filmes e atores de Kevin Bacon.

FreeCodeCamp, script de algoritmo básico

  • FreeCodeCamp
  • Autoestudo
  • Pré-requisito: conhecimento básico de JavaScript e dados
  • GRATUITO

Esta série de exercícios do FreeCodeCamp o ajudará a ter sucesso resolvendo pequenos problemas antes de passar para os mais difíceis. Exercícios de ritmo individual usam a plataforma de aprendizado FreeCodeCamp para testar seu código.

A introdução visual aos algoritmos

  • Educativo
  • Autoestudo, baseado principalmente em texto e exemplos
  • Pré-requisitos: JavaScript, Python, C ++ ou Java
  • GRATUITO

Neste curso gratuito, recursos visuais e de vídeo são usados para ilustrar como os algoritmos funcionam. Os ambientes de código integrados tornam a experiência do usuário muito boa. Soluções potenciais estão incluídas.

Livros de algoritmos

Existem vários livros para ajudá-lo em sua jornada para se tornar um melhor escritor de algoritmos. Muitos deles estão disponíveis em uma livraria local e na Amazon.

`Algoritmos de Grokking`

` Um guia ilustrado para programadores e curiosos `

Por Aditya Bhargava

tampa Grokking algoritmos

Grokking Algorithms é um dos melhores livros sobre algoritmos impressos. Criado por um artista que se tornou desenvolvedor de software, Bhargava adota uma abordagem ilustrada para ajudá-lo a entender ou usar algoritmos de forma intuitiva. Os exercícios no final de cada capítulo ajudam a consolidar o conteúdo do livro.

`Algoritmos em poucas palavras , 2ª ed. `

` Um guia prático `

Por George T. Heineman, Gary inch, Stanley Selkow

 Algoritmos em breve cover de

Este livro adota uma abordagem baseada em modelo para projetar para aprenda quando implementar algoritmos minerados. Você aprenderá a codificar as soluções e depois aprimorá-las usando estruturas de dados avançadas. As soluções estão em Ruby, Java, C++ e C, mas são facilmente traduzidas para seus idiomas favoritos.

`Algoritmos, 4ª ed. `

Por Robert Sedgwick e Kevin Wayne

 Algoritmos cobertura quarta edição

A quarta edição dos algoritmos de Sedgewick e Wayne é uma introdução fantástica ao mundo dos algoritmos. Os autores analisam mais de 50 dos algoritmos mais importantes para que você seja notado.Os educadores da Princeton desenvolveram um online curso que complementa bem este texto.

Recurso

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method