Inserção e Remoção em Listas | Complexidade de Inserir e Remover na Lista | Estruturas de Dados #3
HTML-код
- Опубликовано: 4 окт 2024
- Neste vídeo, estudamos como são realizadas as operações de inserção e remoção de um elemento em uma lista em alocação sequencial de memória. Neste momento, buscamos aproveitar o que Python já nos traz pronto e entender como que as operações em listas podem ser realizadas.
▶️ Se você não tem experiência com Python, mas gostaria de aprender a programar e desenvolver uma base sólida de programação usando esta linguagem, confira o nosso curso Python do Jeito Certo: vai.pgdinamica...
Nos vídeos anteriores, já vimos o que é uma lista linear em alocação sequencial e como utilizá-la em Python. Também aprendemos a implementar um algoritmo simples de busca linear para encontrar um elemento em uma lista e verificamos como calcular a complexidade deste algoritmo. Agora, aproveitamos todo o conhecimento construído para entender como funcionam as operações de inserção e remoção em uma lista linear em alocação sequencial e qual a complexidade de inserir um novo elemento ou tentar remover um elemento que pode ou não estar presente na lista.
⚠️ Python Café agora é Programação Dinâmica! :D
▶️ Acompanhe o curso de estrutura de dados nesta playlist: • Estrutura de Dados
▶️ Confira também a playlist sobre Análise e Projeto de Algoritmos: • Análise e Projeto de A...
📚 Livros de Algoritmos e Estruturas de Dados: amzn.to/3d5wK4m
📚 Livros recomendados de Data Science: amzn.to/2XZyxUr
🎥 SetUp - Equipamentos: amzn.to/37Cg3N2
🟣 Canal na Twitch para lives: / pgdinamica
🟦 Canal do Telegram para receber os vídeos: t.me/joinchat/...
✉️ E-mails:
- Propostas comerciais: pgdinamica@brunch.ag
- Demais assuntos: contato@programacaodinamica.com.br
👩🏾💻👨🏾💻 Confira mais conteúdo em nosso blog: blog.programac...
🔥 Faça parte da comunidade gratuita Programação Mais Dinâmica: bit.ly/pgsparkle (baixe o app e entre na comunidade)
📸 Nos siga no Instagram: / pgdinamica
📸 @kizzy_terra @hallpaz
🐦 Nos siga no Twitter: / pgdinamica
🐦 @kizzy_terra @hallpaz
Curta a Programação Dinâmica no facebook: pgdinamica
Nosso repositório no Github: github.com/programacaodinamica
Confira o nosso Medium: medium.com/programacaodinamica
Confira os artigos no Python Café: pythoncafe.com.br
🥰 Se você gosta do nosso trabalho e acha relevante a nossa atuação no RUclips, considere nos apoiar se tornando membro do canal: www.youtube.co...
Suas aulas tem muito me ajudado na compreensão da matéria.
Fico feliz em saber!
Aula maravilhosa
Muito obrigado!
Aprendi a desenvolver algoritmos de inserção de elemento no final, inserção no meio e remoção tanto no início e final, porém o assunto da complexidade e a explicação do gerenciamento do espaço de memória foram primordiais para complementar meu aprendizado.
Bom sabe que contribuí :) bons estudos!
Assistido✔️
É isso que acontece quando escrevo append() ?
você é foda, está me ajudando muito
😁
6:30 nesse caso a complexidade de adcionar elementos seria O[N] ?
A cópia é O(N), mas não podemos dizer que a inserção na lista é O(N), porque esses momentos de expansão e contração são raros em relação à quantidade de inserções na lista. Então, na prática, a inserção em alocação sequencial ocorrem em O(1).
8:22, não seria todo mundo uma posição para trás?
Olá, Hallison! Gostaria de tirar uma dúvida referente a memória. Comecei a estudar sobre o gerenciamento de memória recentemente e pegando o que foi dito em 4:50 do vídeo em diante, a lista é alocada na heap?
Sim, na heap. A lista em alocação sequencial que eu ensinei, poderia ser alocada na stack (em uma linguagem como C; em Python, deve ser na heap também), porque dá pra pegar um tamanho fixo e gerenciar a alocação de tempos em tempos. Estruturas dinâmicas como a lista encadeada e as árvores, vistas em sequência, são alocadas na heap.
Show, mt obg!! Agradeço demais pelo conteúdo. Forte abraço.@@pgdinamica
Mano faltou o código...
Olá, Rogério! Todo código de estruturas de dados encontra-se neste repositório: github.com/python-cafe/data_structures
Obrigado por avisar!
@@pgdinamica Obg mano!!! Sucesso... Likes no seus vídeos nota 10... Parabéns...
1:42 mas pra descobrir qual é essa última posição onde eu quero inserir, preciso percorrer a lista toda elemento a elemento até descobrir qual é o último
Não, não precisa. Você pode salvar o índice correspondente ao último elemento na lista e atualizá-lo sempre que ocorrer uma inserção ou remoção. A complexidade de espaço pra isso é constante e a complexidade de tempo pra essa inserção também é constante.
@@pgdinamica Valeu! nao tinha pensado nisso..
@@pgdinamica Como descobrimos o índice do último elemento em Python? Acha interessante utilizar a função 'len() - 1' na lista?