Programação

Algoritmos I: Selection, Insertion e Introdução a Análise

Curso online de Algoritmos I: Selection, Insertion e Introdução a Análise

656 8.4

8,4

é a nota desse curso

3.536

alunos neste curso

Faça esse curso e...

  • Implemente você mesmo os mais importantes algoritmos
  • Aprenda diferentes tipos de ordenação
  • Realize buscas mais eficientes
  • Aprenda a analisar seu algoritmo

Veja o primeiro vídeo

Público alvo

quem já sabe programar em Java

Nível de Dificuldade

Básico

Instrutores

  • Guilherme Silveira

    Guilherme co-fundou a Caelum, a Alura e o GUJ. Com mais de 15 anos de experiência no ensino de programação e habilidades digitais, coordena as equipes de produção de cursos na Alura. É tecnólogo com viés matemático e medalhista de ouro em competições nacionais de computação, representando o Brasil nos mundiais. Participante ativo da comunidade open source e de educação em tecnologia, autor de 7 livros da área.

Já é aluno?

Começar o Curso

Conteúdo Detalhado

  1. A busca pelo mais barato

    • O produto mais barato
    • Encontrando o mais barato: na minha cabeça
    • O algoritmo do mais barato
    • Escrevendo o algoritmo
    • Criando o projeto
    • Transformando pseudo código em Java
    • Simulando encontrar o menor valor
    • Trabalhando com objetos
    • Detalhes de implementação na linguagem
    • Refatoração: extraindo uma função
  2. Selection Sort

    • Buscando do inicio ao fim de um array
    • Buscando somente em um trecho específico de um array
    • Os n mais baratos
    • Algoritmo básico (e ruim?) para encontrar os n mais baratos
    • A importância da ordenação
    • Como ordenar?
    • Ordenando ao selecionar o mais barato
    • Implementando em Java a ordenação pela seleção do menor valor
    • Algoritmos e o 'menos 1'
    • Extraindo a ordenação por seleção de elementos
    • Visualizando a troca de posições dos elementos durante a seleção
    • Simulando no papel o algoritmo de seleção de menores elementos para ordenação
  3. Insertion Sort

    • Questionando a velocidade de um algoritmo
    • Ordenando cartas de baralho
    • Simulando passo a passo a ordenação de cartas de baralho
    • Pensando no algoritmo de ordenação
    • Implementando a ordenação por inserção
    • Logando as informações da ordenação por inserção
    • Pequenas refatorações e melhoria do código
    • Simulando no papel com o nosso código
  4. Analisando os algoritmos

    • Algoritmos: entrada e saída
    • Reduzindo um problema a outro
    • Como analisar o desempenho de algoritmos?
    • Analisando o busca menor
    • Tabela de operações por tipo de algoritmo
    • Gráfico de um algoritmo linear
    • A tabela de operações de um algoritmo quadrático
    • O gráfico de um algoritmo quadrático
    • A comparação do desempenho de um algoritmo linear com um quadrático
    • Comparando diversos desempenhos
    • Comparando o desempenho do algoritmo em um computador
    • Questionando quando usar um algoritmo ou outro
  5. Analisando o insertion sort

    • Algoritmos que rodam em tempo constante
    • Algoritmos com desempenho baseados em log
    • Algoritmos nlog n
    • Algoritmos cúbicos
    • Algoritmo exponencial
    • Análise assintótica de um algoritmo

Experiências de quem já estudou com a gente

Foto do aluno

Alexandre Cesar Siqueira

em 12/01/2016

Em notação BIG O ...O(qualidade.alura) = 2^n , n -> +ooO(qualidade.nao.alura) <= n^n , n -> +oo

Algoritmos I: Selection, Insertion e Introdução a Análise

Foto do aluno

Lucas Peres

em 16/12/2015

Curso com uma didática impecável.

Algoritmos I: Selection, Insertion e Introdução a Análise

Foto do aluno

Vinicius Ribeiro

em 20/11/2015

O curso de algoritmos é muito importante, ele expande nossa visão sobre o desenvolvimento de qualquer código, pois, qualquer código se inicia de um algoritmo, e saber implementar cada um deles é um diferencial para o desenvolvedor poder realizar códigos com melhor desempenho.

Algoritmos I: Selection, Insertion e Introdução a Análise

Escolha o seu plano e vamos começar

  • 691 cursos

    Cursos de programação, design, UX, agilidade, transformação digital, mobile, front-end, infraestrutura e mais.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • Todas as formações

    Guias de estudo completo para você iniciar em uma nova área de tecnologia

  • Projeto avaliado pelos instrutores

    Projeto de conclusão das Formações com avaliação dos professores da Alura e certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Curso online de inglês técnico para aprimorar seu conhecimento

Premium

  • 691 cursos

    Cursos de programação, design, UX, agilidade, transformação digital, mobile, front-end, infraestrutura e mais.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • Todas as formações

    Guias de estudo completo para você iniciar em uma nova área de tecnologia

  • Projeto avaliado pelos instrutores

    Projeto de conclusão das Formações com avaliação dos professores da Alura e certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Curso online de inglês técnico para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 691 cursos

    Cursos de programação, design, UX, agilidade, transformação digital, mobile, front-end, infraestrutura e mais.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • Todas as formações

    Guias de estudo completo para você iniciar em uma nova área de tecnologia

  • Projeto avaliado pelos instrutores

    Projeto de conclusão das Formações com avaliação dos professores da Alura e certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Curso online de inglês técnico para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 691 cursos

    Cursos de programação, design, UX, agilidade, transformação digital, mobile, front-end, infraestrutura e mais.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • Todas as formações

    Guias de estudo completo para você iniciar em uma nova área de tecnologia

  • Projeto avaliado pelos instrutores

    Projeto de conclusão das Formações com avaliação dos professores da Alura e certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Curso online de inglês técnico para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana