Introducao
Introducao
- quando se começa na programacao, nossa primeira ideia, naturalmente, é fazer as coisas funcionarem.
- Essa preocupacao é totalmente compreensível nos primeiros passos na área.
- à medida que você avança, no entanto, outras nuances vão entrar em cena. simplesmente fazer funcionar nao será o suficiente.
- nuances como qualidade do código produzido. existem algumas métricas para medir qualidade como manutenibilidade, organizacao
- mas existem uma outra: eficiencia.
- dois trechos de código podem atingir a um mesmo objetivo e ainda assim um ser melhor que o outro
pense no problema de checar quantos números pares há entre dois números:
Em uma primeira versão podemos ter um loop que vai de low to high sendo essas duas variaveis delimitadores e a cada
indice checar se é par, assim incrementando um contador.
Podemos melhorar essa versão, pulando de 2 em 2, assim nao precisamos mais desse check, podemos só incrementar o contador.
Claro, podemos melhorar ainda mais com uma simples formula matemática que torna tudo o mais eficiente possível nesse caso.
Esse não é o exemplo mais prático. Mas a media que formos caminhando nas estruturas veremos casos mais reais, armadilhas que você pode acabar caindo sem nem perceber, simplesmente pelo fato de não saber as estruturas de dados básicas.
Esse curso é sobre estruturas de dados primariamente. O que veremos de algoritmo aqui são os algoritmos que usaremos para performar operacoes nas estruturas (ex: buscar um item em um a lista).
ADT
A ideia é conhecer a ADT (Abstract Data Type) das estruturas e implementá-las da forma mais conveniente considerando eficiência e propósito do curso.