Listas, Pilhas e Filas em Estruturas de Dados - Qual a diferença?

46.75k views2565 WordsCopy TextShare
Bóson Treinamentos
Diferenças entre Listas, Pilhas e Filas em Estruturas de Dados 0:10 Estruturas de Dados 0:47 Tipos ...
Video Transcript:
e fala pessoal aqui é o Fábio Barbosa não tem na mente ainda se vê Já vou fazer uma breve explicação sobre as diferenças entre pilha filas e listas em estruturas de dados antes que são estruturas de dados uma estrutura de dados é uma forma de armazenamento e da organização dos dados na memória do computador que você usa como está construindo algoritmos durante o desenvolvimento de sistemas essas estruturas podem ser empregadas em muitos tipos de aplicações e às vezes elas são bem especializadas orientados para tarefas muito específicas porém outras estruturas de dados são de uso mais
geral inclusive as podem ser utilizados para criar outras estruturas de dados que sejam mais complexas da ideia de tipos de dados abstratos o inglês a the abstract stripe que que é um EDC é um tipo de dados Que implementam objeto que tem um comportamento específico o comportamento está relacionado com os seus valores e principalmente suas operações E aí entra o conceito da estrutura e ela é separado da implementação subjacente ou seja o que importa é o que esse tipo faz mas não como esse tipo faz o que ele faz e assim a gente acaba usando
tipos de dados abstratos que são estruturas de dados para simplificar operações em programação e os principais tipos de dados abstratos são a lista pilha e fila o objeto do nosso vídeo de hoje comecemos pelas listas que são listas uma lista os dados eles são armazenados de forma sequencial linear em pequenas estruturas chamadas de nós o principal tipo de lista é a lista encadeada link de investir em outros tipos de listas também mas esse aqui é o que mais importa para nós é uma lista os dados são armazenados nesses nós que são estruturas individuais e o
nó ele é composto por dois Campos um campo de informação Onde fica o dado efetivamente armazenado e o campo de endereço de ponteiro que conecta esse campo de informação ao próximo no da lista e assim uma lista ligada permite que a gente adicione Quantos elementos forem necessários sem que seja necessário fazer pré alocação de espaço de memória para ele precisa desmente Vai brincando vai encadeando mais nova mas elementos Alice ela vai ser simples ou dupla Mas como é assim mas ela pode ser dupla e uma lista duplamente encadeada ela vai ter ponteiros para os elementos
posteriores os próximos e também para usar anteriores Helen disse uma lista encadeada ela também pode ser do tipo circular na Qual o último elemento tem como o próximo elemento o primeiro da própria lista fechando um ciclo que a gente usa muito listas do tipo e aplicações que representa e apresenta um conjunto cíclicos por exemplo aplicações de geometria mapas etc e as vistas em se elas são amplamente empregadas na implementação de pilhas e filas ou seja as listas são um tipo de dado uma estrutura de Lavra que é usada para implementar outras estruturas um pouco mais
complexo e eu tô aqui o arranjo de memória de uma lista encadeada veja que nós temos um lado nós temos um ponteiro que conecta esse dado com o próximo nodales tem esse conjuntinho ó eu sempre vou ter um ponteiro para o primeiro elemento que o endereço de onde inicia essa lista na memória e aí cada um dos nossos vai apontar para o próximo próximo próximo e assim sucessivamente até o final da lista que pode ter o tamanho que você precisar de uma lista ligada permite que você adicione Quantos elementos forem necessários 100 realizar aquela pré
alocação de memória e uma lista duplamente encadeada ela vai ter um ponteiro adicional ligando-o ao nosso interior também então são dois ponteiros dono atual por próximo e do próximo ano anterior mas ela sempre vai ter um início também um ponteiro para o primeiro elemento que tem um começa essa lista e na prática a gente pode adicionar itens dos dois lados da lista por isso que eu tenho esses dois ponteiros nas duas pontas Então isso é uma lista duplamente encadeada o que a gente pode fazer nas listas ele tem várias operações que a gente realiza uma
lista e aqui eu tenho uma pequena lista por assim dizer de algumas das operações operação iett por exemplo utilizando para retornar um elemento uma posição wingsuit coloca um elemento uma posição correta a Letícia interessante porque não necessariamente alguém ser elementos nas pontas também posso inserir elementos no meio da lista para fazer essa lista crescer operações minimovie eu viro mortati para remover elementos replace troca elementos operação size saber o tamanho da lista Quantos elementos eu tenho nessa lista e as operações isso apps e esforço para verificar respectivamente a lista está vazia ou cheia Lógico que esses
nomes aqui com essas palavras em inglês são nomes que a gente encontra em linguagens de programação que já tem listas implementar então o seu uso o termo específico da sintaxe da linguagem mas se você vai criar sua própria estrutura de dados você vai implementar 10 você pode dar o nome que você quiser para Essas funções eu estou aqui numa obrigatoriedade depende da linguagem e as pilhas uma pilha também uma estrutura linear os três estruturas e serviços são lineares e ela é usada para armazenamento de itens inseridos removidos de acordo com o negócio chamado princípio LF
ou lifo last in first out significa o último entrar é o primeiro a sair a gente pode ser objeto quando a gente quiser mas somente objeto que conhecido por último pode ser removido naquele momento Ou seja a gente pode inserir e excluir elementos objetos itens somente de um lado dessa lista e eu tipo de lista também esse lado é o topo para a gente coloca alimentos no topo tira esse elemento doton as pilhas elas podem ser implementados utilizando se listas encadeadas mas também podem ser implementados usando a Reis da ideia do tipo de dado abstratos
o importante é podia fascinam Como ela foi programado internamente então o funcionamento da pia porque eu tenho uma pia já com alguns dados preenchidos e o topo da pilha é sempre o último elemento endereço do último elemento que foi adicionado o caso o dado sim se eu acrescentar mais um elemento o topo passa seu local onde está esse Element isso eu faço com uma operação chamada por para retirar um elemento e utiliza operação pop E aí eu toco passa a ser um elemento anterior e se eu tirar mais um elemento mais uma vez operação BOPE
o topo passa seu outro elemento anterior no caso aqui o dado quatro então preste opção são as duas principais operações em pilhas para você colocar e tirar elements mas existem outras alterações que a gente pode realizar em pilhas além do Coxipó nós temos operação P que vai retornar o elemento ficar no topo da pilha sem tirar o elemento aqui ele continua lá eu tô consulta o valor dele Ah E também temos as operações size que é o número de desapego com a mãe escreve it is Full para verificar se ela está cheia ou seja está
vazia no caso cheia sua mente se você implementam a pilha com tamanho lá se você podia não tiver tamanho máximo ela nunca vai estar cheio mas ela pode sempre estará vazia se não tiver nenhum elemento adicionado legal e onde eu uso Pires as pilhas são amplamente usadas em desenvolvimento de sódio que eu tenho uma pequena lista com algumas das principais aplicações de pics implementar a função recursiva a cara de das pilhas mecanismos para e fazer desfazer em aplicações por exemplo aí no processador de textos verificação sintática operadores ruim pilha avaliação de expressão aritmética os tipos
de algoritmos que são usados em calculadoras Inclusive a gente vai criar um desses no vídeo mais pra frente nessa sequência de estrutura de dados operação de backtracking tem a ver com encontrar caminhos de retorno rotas a presente publicação expressões geral e também em processamento de linguagem natural de aplicações mais avançadas pros pés são muito outras é importante que você saiba como usá-los não necessariamente como implementar uma pilha do zero mas como usar o ap você precisa saber e além das pilhas Nós também temos as filas ou outro tipo de estrutura linear e aqui a inserção
e remoção nos itens segue um princípio diferente o princípio fifo first in first out significa o primeiro entrar o primeiro a sair por isso causa a gente insere os objetos a qualquer momento mas o objeto que vai ser removido não é o último que foi colocado assim que está mais tempo na fila portanto que foi colocado o primeiro na fila os elementos também são inseridos de um lado da lista é o final mas eles são retirados do outro lado da lista é o início da lista cada nossa filha tem um ponteiro os dados eo ponteiro
de ligação também na mesma forma que as pessoas podem ser implementadas com lista em uma fila para comprar pão está vendo aqui na ilustração Zinho a primeira pessoa que entra na fila é a primeira que vai comprar o pão se é que está mais tempo na fila então força inforsao a última pessoa na fila é a última compra e da mesma forma que com as pilhas a gente pode implementar tiras usando listas encadeadas ou a Reis ou outras técnicas de novo tipo de dado abstrato que importa que a fila faz não como ela faz e
também existem vários tipos de fibras por exemplo de uma fila de prioridades na qual os elementos são armazenados em ordem as filas podem ser duplas também se forem implementadas com listras duplas em radiada geralmente gente uma de deck uma fila dupla double kill inglês e aí no caso de uma fila dupla gente pode inserir remover itens de qualquer das duas pontas da firma como é que funciona assim eu tenho uma fila com início e fim para ter o início da filhote começa a fila portanto esse dado um lado mais antigo e o Finn olhado que
fede e recentemente eu posso adicionar mais dados eles vão sempre entrar no final da fila e para esse eu uso uma operação chamada em Surf e posso retirar um dados na operação Remo e nesse caso dado sempre retirado do início da fila fazendo com que a fila diminua de tamanho e posso com outras operações virmos continuar retirando gatos sempre do início da fila Que tipo de operações a gente pode realizar em vigas além do insert do emovie a gente tem as operações em que eu e de que eu que são os nomes mais técnicos a
gente inserir e remover os itens na fila é muito comum a gente nas linguagens de programação encontrar esses termos assim ser time mundo dizia exatamente do que se trata nas operações em que o e de que o colocar um filho e tirar da fila a operação pique retorna o elemento da fila sem remover geralmente o primeiro elemento da fila size vai retornar o tamanho da fila número de itens e as operações instante e responde vão Oi filha está vazia ou cheia eu tornando um verdadeiro ou falso dependendo do caso é um caso School também só
é válido se a fila estiver o tamanho máximo pré-determinado não não faz sentido existem outros tipos de operações em feiras de novo esses nomes aqui são apenas nomes guia eles podem aparecer de forma diferente dependendo da linguagem se você implementar só que não se coloca o nome que você quiser em português por exemplo para que servem as filhas elas também são usadas como ferramentas para criar o originais de programas exemplos de aplicações são resposta para requisições de serviços que são compartilhados dão um serviço compartilhado que acessado por inúmeros clientes por exemplo uma rede cliente-servidor tem
que ter uma ordem específica para responder não tem o primeiro primeiro a primeira máquina que faz uma requisição vai ser a primeira a receber a resposta normalmente uma fila de impressão ou acesso a um disco por exemplo funciona assim armazenamento das teclas que você o agendamento de tempo de CPU pelas várias aplicações que você tem no computador também costuma utilizar finas transferências de dados dos processos desde que sejam assíncronas bancada sair etc contador de Ticket gerenciamento de filas e vai a um hospital por exemplo toca na maquininha ali na logo na entrada no hospital para
gerar uma senha de acesso na verdade é um número dentro de uma fila é uma lista de espera então quem chega primeiro geralmente vai ser atendido Primeiro vamos deveria funcionar sempre assim Resumindo Então essa é a nossa introdução bem básica então sobre pilhas filas e listas a que eu também foram pilhas e filas explicação mais usadas São baseadas em listas tá então a tabelinha de resumo comparativa as pilhas são baseadas em livros as filhas em fifo nas pilhas a inserção exclusão ocorre são aponta que o topo já na fila a inserção exclusão ocorre lado o
oposto da fila as operações de inserção exclusão são chamadas de curso e pipoca nas pilhas e geralmente em kg e de quill em filas ou em software na pia a gente usa um ponteiro para acessar a lista contamos sempre botou na fila a gente sempre vai precisar de dois ponteiros um para aprontar primeiro elemento e um pro que a gente usar a pia quando a gente precisa acessar um elemento que foi mais recentemente adicionados na sua aplicação suja essa necessidade da sessão elemento uma lista de elementos mas sempre o último foi adicionado o zíper já
se você precisa acessar os elementos por ordem de chegada ou seja o mais antigo primeiro aí você vai usar uma fila beleza gente no próximo vídeo eu quero falar um pouco sobre implementação de listas usando linguagens de programação para gente conversar com um pouquinho mais técnico e eu espero que vocês tenham conseguido ter um Panorama Geral do que são as pilhas as filas EA relação destas estruturas de dados com as listas e deixa os comentários do vídeo que vocês querem ver mais nessa lista de estruturas de dados aqui do canal a gente tem muita coisa
para falar a respeito e possivelmente eu devo mostrar a implementação de algoritmos também usando alguma linguagem de programação como devo fazer umas vistas no próximo vídeo deixe aqui embaixo nos comentários que vocês acham que vocês querem ver em estruturas de dados que vocês têm mais dificuldade aí na sua faculdade na sua escola então é isso aí pessoal Espero que você tenha gostado desse vídeo aproveitem para se inscrever aqui no canal da Bóson treinamentos vocês não forem inscritos ainda em japonês escrito clique no Sininho aqui embaixo para ativar as notificações e assim serem avisados Quando tivermos
conteúdo novo postado aqui no canal e se você quiser contribuir com a Bóson treinamentos torne-se membro do nosso clube de canais temos o link aqui embaixo na descrição desde também o botão seja membro YouTube com as instruções e não deixa esses ao nosso web site www.sougenius.com.br ele não segue nas redes sociais em estão aparecendo aqui em cima obrigado e até a próxima
Copyright © 2024. Made with ♥ in London by YTScribe.com