Caixa de ferramentas algorítmica

coursera.inc

coursera.inc

Caixa de ferramentas algorítmica

Descrição

Prazos flexíveis

Prazos flexíveis
Redefinir os prazos de acordo com sua programação.
Certificado compartilhável
Ganhe um certificado após a conclusão
100% online
Comece instantaneamente e aprenda em sua própria programação.
Curso 1 de 6 no
Estruturas de dados e especialização de algoritmos
Nível intermediário
Aproximadamente. 40 horas para concluir
Inglês
Legendas: árabe, francês, português (europeu), italiano, vietnamita, alemão, russo, inglês, espanhol

Neil Rhodes
Faculdade adjunta
Ciência da Computação e Engenharia
Daniel M Kane
Professor assistente
Departamento de Ciência da Computação e Engenharia / Departamento de Matemática
Pavel Pevzner
Professor
Departamento de Ciência da Computação e Engenharia
Alexander S. Kulikov
Professor
Departamento de Matemática e Sciencesyllabus – O que você aprenderá com este curso
Desafios de programação
Bem -vindo ao primeiro módulo de estruturas de dados e algoritmos! Aqui, forneceremos uma visão geral de onde os algoritmos e estruturas de dados são usados ​​(dica: em todos os lugares) e orientá -lo através de alguns desafios de programação de amostra. Os desafios de programação representam uma parte importante (e muitas vezes a mais difícil!) Dessa especialização, porque a única maneira de entender completamente um algoritmo é implementá -lo. Escrever programas corretos e eficientes é difícil; Por favor, não se surpreenda se eles não funcionarem como você planejou – nossos primeiros programas também não funcionaram! Ajudaremos você em sua jornada pela especialização, mostrando como implementar seus primeiros desafios de programação. Também introduziremos técnicas de teste que ajudarão a aumentar suas chances de aprovar tarefas em sua primeira tentativa. Caso seu programa não funcione como pretendido, mostraremos como corrigi -lo, mesmo que você ainda não saiba em qual teste sua implementação está falhando.
Aquecimento algorítmico
Neste módulo, você aprenderá que os programas com base em algoritmos eficientes podem resolver o mesmo problema bilhões de vezes mais rápidos que os programas com base em algoritmos ingênuos. Você aprenderá como estimar o tempo de execução e a memória de um algoritmo sem sequer implementá -lo. Armado com esse conhecimento, você poderá comparar vários algoritmos, selecionar os mais eficientes e, finalmente, implementá -los como nossos desafios de programação!
Algoritmos gananciosos
Neste módulo, você aprenderá sobre classe de algoritmos aparentemente ingênuos, porém poderosos, chamada algoritmos gananciosos. Depois de aprender a idéia principal por trás dos algoritmos gananciosos, você pode sentir que eles representam a faca do Exército suíço algorítmico que pode ser aplicada para resolver quase todos os desafios de programação neste curso. Mas esteja avisado: com algumas exceções que abordaremos, essa idéia intuitiva raramente funciona na prática! Por esse motivo, é importante provar que um algoritmo ganancioso sempre produz uma solução ideal antes de usar esse algoritmo. No final deste módulo, testaremos sua intuição e gosto por algoritmos gananciosos, oferecendo vários desafios de programação.
Dividir e conquistar
Neste módulo, você aprenderá sobre uma poderosa técnica algorítmica chamada Divide and Conquer. Com base nessa técnica, você verá como pesquisar em grandes bancos de dados milhões de vezes mais rápido do que usar pesquisas lineares ingênuas. Você até aprenderá que a maneira padrão de multiplicar números (que aprendeu na escola primária) está longe de ser a mais rápida! Em seguida, aplicaremos a técnica de divisão e conquista para projetar dois algoritmos eficientes (classificar e classificar e classificar rapidamente) para classificar listas enormes, um problema que encontra muitos aplicativos na prática. Finalmente, mostraremos que esses dois algoritmos são ótimos, ou seja, nenhum algoritmo pode classificar mais rápido!
Programação dinâmica 1
Neste módulo final do curso, você aprenderá sobre a poderosa técnica algorítmica para resolver muitos problemas de otimização chamados programação dinâmica. Aconteceu que a programação dinâmica pode resolver muitos problemas que evitam todas as tentativas de resolvê-los usando a estratégia gananciosa ou dividida e conquista. Existem inúmeras aplicações de programação dinâmica na prática: desde maximizar a receita do anúncio de uma estação de TV, procurar páginas semelhantes da Internet, a localização de genes (o problema em que os biólogos precisam encontrar o número mínimo de mutações para transformar um gene em outro) . Você aprenderá como a mesma ideia ajuda a fazer correções de ortografia automaticamente e a mostrar as diferenças entre duas versões do mesmo texto.
Programação dinâmica 2
Neste módulo, continuamos praticando a implementação de soluções de programação dinâmica.

Avaliações

Não há avaliações ainda.

Seja o primeiro a avaliar “Caixa de ferramentas algorítmica”

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Cursos Relacionados

PHP Code Snippets Powered By : XYZScripts.com