Neste vídeo, introduzimos conceitos fundamentais na análise da eficiência de soluções computacionais a partir da intuição sobre complexidade de algoritmos. Esses conceitos serão a base para entendermos como profissionais de computação analisam a quantidade de recursos demandada por seus programas. Como explicado no vídeo sobre recursos computacionais (httpsyoutu.beiE3_JWR-yaE), nossos programas demandam alguma forma de processamento, isto é capacidade de cálculo, e também memória, espaço de armazenamento. Assim, podemos medir a complexidade de um algoritmo de duas formas complexidade de tempo e complexidade de espaço. Nesta primeira parte, buscamos entender o conceito de "operação elementar", que nos ajudará a simplificar o raciocínio acerca das duas formas de complexidade. Na parte II (httpsyoutu.beUQzCFkRbIrE), nós aprenderemos a notação do O grande, a mais utilizada para especificar a complexidade de algoritmos. ERRATA 1 O correto seria usar a variável "tamanho" no lugar de "n" na função inverter_lista.ERRATA 2 Aos 1325, calcula-se a complexidade de espaço como 32N, porém o correto seria 22N. Existe uma necessidade de espaço a mais que poderia ser interpretada pela operação de subtração das variáveis "tamanho" e "i", mas esse é um rigor do qual não precisamos para essa tarefa em particular. Livro de Algoritmos Versão em portuguêsAlgoritmos - httpsamzn.to2LbAAQaVersão em inglêsIntroduction to Algorithms - httpsamzn.to2xCwl7lInstagram dinamicaprogramacao kizzy_terra hallpazTwitter pgdinamica kizzyterra hallpaz Curta a Programação Dinâmica no facebook httpsfb.comprogramacaodinamica Confira o nosso Medium httpsmedium.comprogramacaodinamica Confira os artigos no Python Café httpspythoncafe.com.br
Compartilhar