Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Fundamentos de Estruturas de Dados em Java
Highest Rated
Rating: 4.5 out of 5(27 ratings)
136 students

Fundamentos de Estruturas de Dados em Java

Compreenda na prática as principais estruturas de dados utilizadas no desenvolvimento de algoritmos.
Created byMatheus Phelipe
Last updated 6/2024
Portuguese

What you'll learn

  • Introdução aos tipos fundamentais de estruturas de dados, como arrays, listas, pilhas e filas, e compreensão de quando usar cada uma delas.
  • Estudo detalhado de listas encadeadas com alocação estática e dinâmica, incluindo operações de inserção, remoção e busca.
  • Entendimento do conceito de tabelas hash e sua aplicação para busca rápida e eficiente.
  • Uso da recursividade na implementação de algoritmos e estruturas de dados.
  • Estudo de casos reais em que a escolha apropriada de estruturas de dados influenciará o desempenho e a eficiência de sistemas complexos.

Course content

9 sections101 lectures13h 15m total length
  • Aula introdutória5:55
  • Motivações7:02
  • Módulos do curso9:06
  • Acesso a materiais e referências3:18
  • Código Fonte no GitHub1:38
  • Estrutura do código fonte5:46
  • Notas sobre a instalação do JDK e SDKMAN3:19
  • Sobre as listas de exercícios2:11
  • Recursos disponíveis0:10
  • Avalie o curso!0:20

Requirements

  • Conhecimento básico em programação. Conceitos como variáveis, tipos de dados, operadores, estruturas de controle de fluxo, funções e manipulação de arrays.
  • Conhecimento mínimo a respeito da Programação Orientada à Objetos em Java.
  • Curiosidade e disposição para praticar os conceitos expostos nas aulas.

Description

O curso foi projetado para proporcionar aos alunos uma compreensão sólida dos princípios fundamentais que sustentam a organização e manipulação eficiente de dados em programas de computador. Essa área da ciência da computação é essencial para o desenvolvimento de algoritmos eficientes, o que, por sua vez, impacta diretamente o desempenho e a eficácia de software.


Este curso oferece uma introdução abrangente e prática aos princípios fundamentais das estruturas de dados, proporcionando aos alunos as habilidades essenciais para projetar e implementar algoritmos eficientes. Ao longo do curso, os participantes serão expostos a uma variedade de estruturas de dados, técnicas de manipulação e análise de algoritmos, promovendo uma compreensão profunda das escolhas de implementação e suas implicações no desempenho do software.


O curso adotará uma abordagem prática, combinando a teoria com a implementação dos algoritmos na prática. Os alunos terão acesso a recursos online, tutoriais em vídeo, exercícios práticos e projetos para aplicar os conceitos aprendidos. Todo o código fonte desenvolvido ficará à disposição para consulta e modificação.


Este curso é ideal para estudantes de ciência da computação, desenvolvedores de software, engenheiros de software e entusiastas que desejam aprimorar suas habilidades em estruturas de dados e algoritmos. Ao final do curso, os participantes estarão preparados para enfrentar desafios de programação mais complexos e contribuir para o desenvolvimento de software mais eficiente e escalável.

Who this course is for:

  • Alunos que estão cursando graduação ou pós-graduação em ciência da computação, engenharia de software ou áreas afins.
  • Programadores que já têm algum conhecimento em programação e desejam aprimorar suas habilidades, tornando seus programas mais eficientes e eficazes.
  • Indivíduos que estão se preparando para entrevistas técnicas em empresas de tecnologia, onde o conhecimento de estruturas de dados é frequentemente avaliado.
  • Profissionais de tecnologia da informação que desejam fazer uma transição para o desenvolvimento de software e precisam consolidar seus conhecimentos em estruturas de dados.
  • Aqueles envolvidos no desenvolvimento de jogos ou outras aplicações que exigem manipulação intensiva de dados.
  • Engenheiros de software que se concentram em otimização de desempenho e eficiência de algoritmos.