e contextualizando o estrutura de dados nada mais é que a organização desses dados na memória de um computador ou dispositivo de armazenamento dados estruturados da forma certa vão trazer para aplicação um melhor desempenho de processamento é de para os íntimos é um conceito que vemos nos cursos de computação mas que nem sempre conseguimos absorver por muitos fatores como a complexidade do assunto pela didática apresentada ou ainda pela falta de conhecimento de base da programação nesse vídeo vamos de espantar alguns nesses vantagens e deixar você mais confiante para encarar de frente a tal da estrutura de
dados ó código-fonte transou CDF foram sentimos tudo bem com vocês estamos abordando um tema e importantíssimo para todas as pessoas que desejam ser e até as que já são programadores Agora você vê uma vaga que as tecnologias batem exatamente com seu perfil linguagem creme o outro banco de dados e todos os reis em geral até aqui você se depara com aquele requisito chamado estrutura de dados nessa hora bate para muitos aquele frio na barriga mas nós estamos aqui para ajudar quem sofre desse mal o quê que é tão importante assim conhecer estruturas de dados conhecer
e saber qual estrutura de dados deve ser aplicada é fundamental porque através dela que vamos conseguir administrar uma grande quantidade de idade com alta performance no processamento usando o banco de dados serviços de busca indexação de idade e também na construção de algoritmos eficientes utilizamos estruturas de dados para basicamente realizar operações Como inserir e excluir ou localizar um registro percorrer todos os registros e classificaram os registros em uma ordem pré-determinada Agora conta pra gente quantas aplicações você consegue citar que não possuem dados a serem manipulados difícil né por isso é de é tão primordial mas
ficar só falando da sua importância não vai fazer se você aprenda por isso vamos te apresentar as principais estruturas de dados utilizadas começando com o famoso aí corre consiste em armazenar uma coleção de elementos do mesmo tipo onde cada um desses elementos pode ser identificados por pelo menos um índice ou uma chave Vale aqui é uma observação sabemos que linguagens como PHP e JavaScript que permite em tipos diferentes uma Rei Mas elas são exceção a régua e a mais simples estrutura de dados para armazenamento em memória e praticamente todas as linguagens de programação que inclui
um tipo de dados Array nativamente o Array também é conhecido como o vetor que trabalha com estruturas união e selagem e matriz que trabalha com estruturas multidimensionais vamos com exemplo tô aqui não reconheceu estamos usando aqui o James crê declaramos dois a rede o primeiro dia da semana que é um Array unidimensional ou vetor e o segundo usuário um Array multidimensional ou Matriz com o nome sobrenome e empresas quando o assunto é acessar um dos elementos o ar é uma vantagem em relação a outras estruturas pois podemos acessar o elemento diretamente apenas passando o índice
desse elemento dá só uma olhada no console Love no primeiro acessamos o link dois dias da semana que vai trazer o resultado quarta-feira segundo entre 12 que vai trazer o resultado código-fonte Deu para notar que não javscript o índice do Array começa com zelo e isso acontece na maioria das linguagens embora existam algumas exceções as linguagens de programação também apresentam diversos métodos que facilitam a manipulação dos arreios como concatenar dois ou mais a Reis criar um novo Array a partir de um filtro excluir ou incluir elemento mas esses e vários outros metros por serem implementados
e aceite ou não de acordo com a linguagem ainda vamos ver alguns desses métodos e sendo implementados nos próximos exemplos com jovens crentes Vamos então abordaram nossa segunda estrutura de dados a filha uma pilha é uma coleção ordenada de itens baseada no princípio o que a Siga para Leste em for Salt ou seja o último elemento entrar na pilha é o primeiro a sair para retirar qualquer dúvida sobre Esse princípio Vamos citar o exemplo mais ilustrativo de todos uma pilha de pratos sujos a serem lavados o último prato empilhado é justamente o primeiro que tem
que ser lavado isso quer dizer que tanto a adição quanto a remoção dos elementos acontecem na mesma extremidade da pinga chamada de Topo a extremidade oposta é a chamada base e aquele primeiro prato que foi colocado por lá agora eu tenho certeza de que você entendeu o princípio livro Só para você conhecer um pouquinho da história o conceito de pilha foi inicialmente proposto em 1955 e patenteado em 1957 pelo alemão vou falar em Frederico Ludwig Bauer aqui também foi o autor da primeira definição de engenharia de software deu para notar que a pilha é bem
parecida com a ré Mas conseguimos term o molho sobre adição e a remoção dos elementos dessa estrutura Vamos a um exemplo não temos uma estrutura de pilha implementada nativamente no jovens clipe mas podemos criar a nossa própria primeiro criamos uma classe que ser a nossa estrutura de pilha depois criamos dois metros o peixe para empilhar ou adicionar o elemento do topo da filha e o foco para desempenhar ou remover um elemento do topo da pilha agora vamos instanciar a classe filha e adicionar cinco elementos usando o método poste pelo emoji que você pode ver como
aquele se comportou durante a inclusão dos ele é meu chegou a vez de remover esses mesmos elementos da nossa filha aí é fácil basta chamar o método no top também criamos uma imagem para ilustrar o comportamento da exclusão dos elementos da pilha o seu deve tá pensando nós e aí onde eu vou usar esse lance de pilha no mundo real tenha calma jovem padawan nós vamos te dar um exemplo agora mesmo cada para você tá aí na sua ideia favorita ficou dando loucamente em qualquer resolve voltar atrás baixo para dar aí o famoso control Z
que tudo vai ser resolvido tudo que você vai digitando vai sendo armazenado em uma ilha e aí quando você era e aperta contra o exemplo a ideia Remove a última coisa que foi digitada na pilha se você apertar o contra os é mais vezes do que deveria Basta dar o contra o chip Z e A ideia é coloca o que foi removido sem querer de volta na pilha chegou agora a vez de abordarmos a fila assim como a pilha a fila também é uma coleção ordenada de itens O que as diferencia é o princípio que
são baseadas Como já explicamos a pilha Segue o livro já a fila é baseada no princípio fifo for sim força aos o primeiro entrar é o primeiro a sair a fila recebe esse nome porque sempre fica exatamente uma fila na vida real então nós filas maravilhosas nos Bancos restaurantes famosos ou na hora de embarcar em um avião Adição de novos elementos é feita no fim da fila que chamamos de aqui ó fiz a Remo é feita no início da fila que chamamos de rede na computação também Temos vários exemplos que venha lançamento quando falamos de
fila o sistema de mensageria como o casca e o have seen you são implementações robustos de filmes todos a nossa exemplo primeiro criamos uma classe que será a nossa estrutura de fila depois chamamos de 2 metros o ímpio para adicionar um elemento no final da fila e o que que eu para remover um elemento no início da fila criamos uma Instância para a classe fila e eu chamo três elementos usando o método ímpio agora vamos usar um método de que eu para remover os elementos da nossa fila tanto para fila como para pilha poderíamos ter
implementado outros métodos Como retornar o tamanho se está vazio ou não mas preferimos um focar aqui no que é essencial dessas estruturas para facilitar o seu entendimento vamos passar agora para outra estrutura de dados também muito famosa árvore diferente das estruturas que já citamos a abrir uma coleção não ordene um modelo abstrato de uma estrutura hierárquica esse tipo de coleção é bastante usado quando queremos encontrar um elemento da forma mais fácil possível quando falamos de árvores o que vem na sua mente além daquelas verdinhos lindas que encontramos na natureza bom pelo menos na minha vem
aquela árvore genealógica uma estrutura que usamos para mapear os nossos ancestrais e os nossos descendentes agora trazendo para o mundo da Computação as árvores são estruturas de dados constituídas de nós que tem um relacionamento pai-filho não tem um pai menos o primeiro nós fica lá em cima no topo da árvore que chamamos de reais e cada não pode ter zero ou mais filhos honramos além da raiz que fica no topo né os outros nós se dividem em nós internos e nós externo os nós internos são aqueles que possuem pelo menos um filho e nosso exemplo
os nós bfdi ge onde nós externas que também são chamadas de folhas são as e não possuem nenhum filho do nosso exemplo estamos nós e JK clh exemplos de árvore muito conhecidos são os da árvore binária o da árvore binária de busca chamadas também pela sigla DST de Wagner Sweet mesh Qual é a diferença entre elas terminarem série seus nós sem nenhuma regra definida já árvore binária de busca inicia operação inserindo a raiz e o primeiro nosso filho a partir do segundo não é feita a verificação O valor é maior do que o valor da
raiz sim ele será adicionado à direita senão ele será adicionado à esquerda e a mesma coisa se repete para os outros nós com isso que sabemos que os nós e subir árvores da esquerda serão sempre valores menores que os da direita assim podemos fazer uma busca nessa árvore de uma forma muito mais eficiente Vamo começar declarando a nossa classe e árvore e depois criamos um método inserir uma validação do valor para criarmos a nossa árvore binária de busca é verificar se existe um valor e aí válida o lado a ser adicionado se o valor for
maior adiciona direito do seu valor for menor a esquerda e se não existir o valor vamos criar uma lavar agora vamos instanciar uma nova árvore inserido a raiz e alguns nós para você entender melhor na imagem temos aí a representação da nossa árvore mas vale frisar que isso é só o básico do básico das Árvores só para vocês terem uma ideia existem diversas formas de percorrer uma árvore outros tipos de árvores onde é possível por exemplo balancear o número de nós para que um lado da árvore que seja semelhante ao outro enfim elas são assuntos
para vários vídeos aqui no carro como você pode perceber estrutura de dados é um tema enorme e merece ser estudado mais a fundo se estamos aqui apenas algumas estruturas de dados mais conhecidos Mas além delas temos dicionários grafos conjunto entre outras você deve ter esse conhecimento saber como o algoritmo de uma forma mais eficiente certamente será um grande diferencial no seu currículo entre abrir a e muitas portas na hora de conseguir aquela vaga Marota que bate exatamente com seu perfil incluindo o conhecimento estrutura de dados mas vamos ficando por aqui nós não vamos deixar de
pedir para você dos contatos O que você gostaria de que abordaremos aqui no próximo dicionário no programador estamos sempre de olho nos comentários e tentando atender aos pedidos mais recorrentes agora sem nós estamos de partida viu até o próximo vídeo tchau pode estrutura de dados em poucos minutos é algo complexo por isso vamos deixar aqui a sugestão desse livro que estrutura de dados e algoritmos com JavaScript quem é autora a glória é Nossa amiga e olha ela é fera viu o livro vai te ajudar aí Deveras a se aprofundar no assunto deixamos aqui do lado
o link para playlist do dicionário do programador Escolhe um assunto que te interessa tá tudo ordenado e fica com a gente por mais um tempinho vai lá