as estruturas de dados são fundamentais na programação porque é através dessas estruturas que você vai conseguir organizar manipular e armazenar dados aí no seu programa muitas pessoas negligenciam essa parte que é tão importante na base de todo o programador e hoje eu tô aqui com a difícil missão de te ensinar estrutura de dados da forma mais fácil possível aí para que você consiga visualizar isso muito além dos termos técnicos a gente também vai falar sobre as principais estruturas de dados ali que todo programador deve conhecer esse Com certeza é um daqueles vídeos muito importantes e
essenciais para todo mundo que tá começando na programação Então bora pro [Música] vídeo Olá pessoal bora para mais um vídeo eu sou canal taquita seja bem-vindo ao meu canal um canal onde você vai encontrar muito conteúdo útil sobre programação a gente tá fazendo muitos conteúdos que vão ajudar quem tá começando e se você tá começando na programação Esse é o canal para você a única coisa que eu te peço é que se esse conteúdo te ajudar Em algum momento que você curta que você compartilhe que você interaja porque essa é a forma que você vai
estar apoiando o meu conteúdo Com certeza e sempre no final de todo vídeo meu quem já é raiz do canal já sabe que eu escolho um comentário de outro vídeo para responder aqui para você então se você tiver alguma dúvida alguma sugestão Não deixe de comentar porque seu comentário é muito importante para mim hein estruturas de dados são muito importantes ali na base da programação para que você consiga resolver problemas como programador da melhor forma possível se você não tiver conhecimento necessário em estrutura de dados dificilmente você vai conseguir construir algoritmos performáticos isso acaba sendo
um problema na sua evolução profissional nesse vídeo a gente tá novamente falando da base que é tão importante ali para um programador e esse conteúdo tem o apoio da escola dnc e é legal destacar que com essa parceria com a escola dnc eu criei uma playlist muito legal para quem tá iniciando na programação justamente focando nos fundamentos que são tão importantes para quem tá começando nos princípios ali para você ser um bom programador né então não deixa pia essa lista porque tem lá lógica de programação tem programação orientada ao objeto e a gente quer crescer
essa lista cada vez mais com conteúdos relevantes para vocês e a escola dnc apoia esse conteúdo justamente por acreditar que a base é muito importante e que não se deve pular etapas é por isso que a sua ementa é muito bem estruturada e foca na base das ciências da computação para formar profissionais de destaque aí no mercado e é justamente por focar nesses princípios de como ser um bom programador e não em fórmulas mágicas aí de mercado que a escola da possui um índice incrível de empregabilidade superior a 98% o link para você saber mais
sobre a formação em tecnologia da escola dnc vai estar aqui na descrição bom quando a gente pensa em lidar com informação é essencial saber como você organiza essas informações para que você consiga acessar e manipular essas informações de uma forma mais facilitada vou dar um exemplo bem visual vamos supor que você tem aí na sua mesa diversos livros ali espalhados e você quer organizar esses livros de alguma forma Então você compra uma caixa você começa a colocar esses livros dentro da caixa Ou seja você começa a empilhar esses livros ali dentro dessa caixa O que
acontece se você precisar ali buscar um livro no meio daqueles livros que estão empilhados ali dentro da caixa Você vai precisar retirar os livros que estão em cima para que você consiga acessar o livro que você quer que esteja ali no meio daquela informação aí Para para pensar será que essa é uma forma é performática de se organizar essas informações já que você tem a necessidade de encontrar essas informações ali de encontrar o livro que pode estar no meio ali daqueles livros ali que você colocou naquela pilha Será que a gente não conseguiria organizar isso
de uma forma diferente para facilitar com que eu consiga acessar e manipular essas informações agora para para pensar se a gente conseguisse organizar isso de uma forma diferente de uma forma mais performática digamos assim se eu tivesse uma prateleira onde eu conseguisse organizar os meus livros cada um em uma posição específica eu conseguisse identificar com as etiquetas certinhas então quando eu tivesse que procurar um livro eu precisava desempilhar os livros que estão em cima mas eu simplesmente buscaria a informação paraa sua identificação já deu para perceber que essa é uma forma muito mais eficiente de
organizar esses dados específicos segundo a minha necessidade de organização ali dos livros e é justamente aí que entra a importância de se conhecer as diferentes estruturas de dados para que você consiga encontrar a melhor estrutura para resolver o seu problema assim como o próprio nome sugere estrutura de dados te permite armazenar informações de uma forma organizada para que você você consiga acessar e manipular essas informações e é muito importante pensar justamente nessa organização para que você consiga atender os requisitos de uma forma mais eficiente do problema que você tá resolvendo isso quer dizer que não
existe a melhor estrutura de dados né existe a melhor estrutura de dados para o problema que você tá resolvendo e cada uma vai ter um contexto diferente por exemplo nesse exemplo que eu dei a forma de organizar os livros em pratileira fez total sentido no sentido de otimizar esse processo de buscar as informações ali pro meu problema específico que era a organização de livros mas cada problema vai ter um contexto específico e por isso é muito importante você entender sobre as estruturas sobre as possíveis estruturas para que você não limite o seu pensamento o seu
raciocínio como programador o que eu vejo muito acontecer é um programador ali entender o básico do básico das estruturas não querer aprofundar em outras possibilidades e tentar resolver todos os tipos de problemas com aquelas únicas estrutura de dados que ele conhece então ele limita o seu conhecimento e essa limitação faz com que ele tenha dificuldade tremenda ainda de estruturar o seu pensamento e isso impacta demais na resolução de algoritmos e já que eu falei da importância de conhecer as estruturas de dados vamos falar sobre algumas estruturas que são fundamentais e que todo programador deveria conhecer
imagina na sua cabeça ali uma lista de compras né Qual que é o requisito de uma lista de compras é que você consiga adicionar itens e retirar itens Afinal você tá fazendo uma lista Você pode ter que você tem que adicionar um item a mais ou remover Um item da lista que você não se comprar mais Então esse é o requisito de organização a dessa lista e a lista Ela vai organizar esses itens de uma forma ordenada então cada um vai ter ali uma ordenação naquela lista a lista é uma estrutura de dados né é
uma forma de você estruturar organizar essas informações ali que estão dentro dessa estrutura e quando a gente fala em lista ordenada é justamente porque cada valor ali dentro Ocupa um índice uma posição naquela lista que começa do zero vai pro um 2 3 e assim por diante Então se a gente fosse fazer uma lista de compras essa que eu vou colocar aqui na tela para você visualizar né qual que seria o índice a posição da maçã bom olhando pra ordem da lista o índice da nossa maçã seria de número três já que a gente começa
no zero então basicamente a estrutura da lista vai organizar esses dados de uma forma ordenada com a possibilidade de você conseguir adicionar e remover itens e como cada elemento ali da minha lista Ocupa um índice uma posição específica ali na minha lista se eu souber é a posição específica daquele elemento eu consigo encontrar ele com uma grande facilidade então se eu quisesse acessar a minha maçã sabendo que ela tá na posição três eu apenas verificaria a posição três na minha lista porque ela é justamente ordenada outra estrutura de dados muito importante são as pilhas pensando
naquele exemplo anterior que eu falei dos livros justamente aonde você vai empilhando os livros Esse é realmente um ótimo exemplo para você entender a estrutura da pilha ela segue um princípio chamado lifo que é o último a entrar seja o primeiro a sair ou seja o último livro que eu coloquei ali na minha organização de elementos ele vai ser o primeiro a sair é realmente o conceito de pilha você não consegue tirar um livro do Meio você não consegue tirar um livro o primeiro livro ali se eu quisesse por exemplo acessar o meu primeiro livro
que eu coloquei ele na pilha eu teria que retirar todos os outros né isso não parece muito performático para algumas aplicações por exemplo organizar esses livros e acessar esses Livros mas isso é muito utilizado por exemplo em histórico de navegação pensa no histórico da sua navegação sempre a última informação acessada vai ser a primeira a sair porque você tem ali uma ordem de acessos no seu histórico de navegação Esse é um exemplo muito legal pra gente entender quando que esse tipo de estudo de dados é utilizado falando de outra estrutura aqui vamos falar da fila
falamos de listas falamos de pilha agora vamos falar de fila né A Fila ao contrário da pilha ela segue um princípio chamado fifo que é o primeiro a entrar o primeiro a sair agora vamos trazer forma mais visual né Pensa numa fila de banco né A primeira pessoa que chega para ser atendida vai ser a primeira a sair porque ela vai ser atendida primeiro e essa é a ordenação ali dos itens né Então nesse exemplo dá pra gente entender que existe uma ordem de chegada como que eu poderia aplicar essa fila ali em alguma aplicação
ali pra gente visualizar isso Pense em um sistema de uploads onde você pode subir várias imagens de uma vez né e ele tem que processar essas imagens ele pode seguir uma ordenação para processar essas informações então ele segue uma fila A primeira imagem adicionada vai ser feito o upload assim que terminar ele vai pegar a próxima assim que terminar ele pega a próxima assim que terminar ele pega o próximo e assim em sequência então ele segue uma fila para processar e fazer o upload daquelas informações né É claro que aqui eu não tô considerando a
possibilidade dele fazer esse upload em paralelo Mas é uma forma de você entender quando que a prioridade de ordem de chegada é importante ali na aplicação de um programa a próxima estrutura que a gente vai falar são as árvores né A melhor forma que eu consigo dizer simplificar isso é justamente pensar numa árvore onde você tem o galho e você tem as ramificações né os galhos que vão ramificando e também se a gente fosse visualizar de uma forma melhor também pensa numa árvore genealógica aonde você tem toda uma hierarquia Ou seja você tá ali no
centro seu pai e sua mãe que vai ramificar pro seu avô pra sua avó pro seu avô pra sua avó e assim subsequentemente até você conseguir mapear a árvore genealógica da sua família digamos assim essa organização em hier arquia ela é uma estrutura de dados que é chamada árvore um nó pode ter várias ramificações de pais e filhos e assim você consegue organizar essas informações e quando a gente fala em árvore binária é justamente porque um nó só pode ter duas ramificações ou Direita ou esquerda então na árvore binária né cada perna só tem a
possibilidade de crescer para um lado ou outro e assim você vai ramificando ali e organizando aqueles itens aquelas informações essa estrutura de dados é ela não é tão utilizada mas ela é muito legal para você organizar dados de uma forma hierarquizada a próxima estrutura que a gente vai falar é a tabela hash lembra daquele exemplo da prateleira onde você tinha o identificador e o livro A tabela hash basicamente vai organizar chave e valor então você vai ter um identificador uma posição específica ali na prateleira e a informação que você vai guardar no caso ali o
livro e a grande vantagem ali da tabela hash é justamente a facilidade com que você consegue encontrar informações ali é acessar essas informações que estão organizadas ali naquela prateleira digamos assim então no exemplo que eu dei ali no começo do vídeo eu tinha utilizado a pilha para poder organizar os meus livros e entendi que se eu precisasse achar uma informação ali no meio eu teria que desempilhar aquelas informações percorrer item por item para poder chegar ali no meu livro e com a tabela rest tendo Esse identificador eu consigo chegar diretamente na informação que eu estou
procurando não é à toa que essa estrutura de dados é utiliz us em aplicações como por exemplo banco de dados é legal lembrar que pensando em banco de dados A modelagem desses dados é fundamental Afinal dados hoje valem ouro através de dados você consegue tirar insights valiosos ali pro negócio a escola dnc também tem uma formação em ciência de dados aonde você vai aprender como coletar e agrupar esses dados manipulando o banco de dados ali com ferramentas de desenvolvimento as estruturas de dados que eu abordei aqui nesse vídeo Realmente são as básicas fundamentais ali a
base que todo programador precisa saber mas você pode aprofundar a estudar outras estruturas como por exemplo grafos listas linkadas é muito importante assim como eu disse conhecer as possibilidades para que você tenha justamente essas possibilidades a serem exploradas na resolução de problemas para que você não fique limitado ali com o programador lembra que eu sempre falo aqui que a nossa função como programador não é resolver problemas mas resolver problemas da forma mais eficiente possível se você buscar isso como profissional Sempre buscar ser mais eficiente Com certeza você vai conseguir as melhores oportunidades aí de mercado
a verdade é que bons profissionais de tecnologia devem saber Muito Além de usar ferramentas devem ter uma base sólida né e utilizar as ferramentas para potencializar ali todo o seu conhecimento ali que já tá muito bem basado e a escola dnc assim como eu acredita que isso é fundamental para que você continue evoluindo no mercado de tecnologia aproveitando já para agradecer todo o apoio da escola dnc a gente tem criado conteúdos fantásticos aqui não deixe de conferir a Playlist sobre lógica da programação programação entado objeto e a tendência desses conteúdos é crescer cada vez mais
se você quiser conhecer um pouquinho mais sobre a formação em tecnologia da escola dnc é só acessar o link na descrição desse vídeo e agora eu quero saber de você se eu realmente consegui ensinar passar esse conhecimento sobre estrutura de dados Não deixe de comentar se você gostou desse conteúdo Se surgir alguma dúvida se você tem alguma recomendação para outro tipo de conteúdo pra gente trazer pra nossa playlist ali que tá ajudando programadores iniciantes ali com conteúdos fundamentais que todo programador precisa saber e assim como é de costume eu vou responder um comentário que deixa
deixaram em outro vídeo aqui do canal e o comentário é do Paulo Armando cali Obrigado pelo vídeo eu ten 47 anos e estou começando agora literalmente do zero confesso que nos estudos de hoje me questionei se estou ficando burro é muita informação mas seguimos na persistência Até aprender isso aí Paulo persistência é muito importante eu acho que essa sensação de achar que sabe alguma coisa e depois se sentir completamente burro ela é muito comum ali em relação à jornada de aprendizado na programação porque assim como eu falo aqui no meu canal programação não é algo
trivial e o aprendizado ele não é linear e tecnologia tem um monte de coisa né nesse vídeo ali que você comentou sobre verdades no mercado de tecnologia justamente falo que o roadmap de um programador É imenso e que é muita ilusão achar que um programador tem que saber tudo então para quem tá começando a ver Aquela quantidade de informação acha que não vai conseguir aprender e acaba sendo um bloqueio muito grande mas o que eu posso falar para você Paula é viver um dia de cada vez né entender que é uma jornada que vão ter
altos e baixos persistência e foco vão ser fundamentais ali para seu sucesso muito obrigado pelo seu comentário Paulo eu fico muito feliz desse vídeo ter sido útil para você eu espero que você também tenha gostado desse vídeo se esse conteúdo Foi útil para você em algum sentido ali não esqueça de compartilhar de se inscrever pra gente se encontrar toda semana e assim como é de costume antes de me despedir pro próximo vídeo eu vou indicar outros dois conteúdos PR você maratonar os conteúdos do aequita flix não deixe maratonar um conteúdo vai ser justamente um vídeo
onde eu falo sobre insites de aprendizado na programação né como é aprender programação de fato eu falo justamente desses altos e baixos aprendizado que vai ajudar você se você tá começando e outro conteúdo vai ser uma indicação do YouTube agora eu vou voltar a escrever um post aqui no Linkedin que eu tô sempre por lá não deixe de seguir lá e não deixe de se inscrever aqui que a gente se encontra toda semana