💻
Micro-fundamentos - AEDs
  • Introdução
  • Algoritmos e Estruturas de Dados 1
    • Parte 1 - Começando com o básico
      • Criando nosso primeiro algoritmo
      • Estruturas de dados primitivas
      • Atribuição e declaração de variáveis
      • Leitura e escrita de dados
      • Estruturas condicionais e Operadores relacionais
      • Operadores aritméticos
      • Operadores lógicos
      • Estruturas de repetição
      • Funções e escopo
    • Parte 2 - Conceitos avançados
      • Introdução a ponteiros
      • Estruturas de dados não primitivas
      • Entendendo-recursão
      • Retornando argumentos de funções recursivas
      • Como a máquina interpreta seus códigos
    • Parte 3 - Conhecendo POO e seus Princípios
      • O que é Programação Orientada a Objetos?
      • Criando nossa primeira classe
      • Entendendo Encapsulação
      • Entendendo Herança
      • Entendendo Polimorfismo
  • Algoritmos e Estruturas de Dados 2
    • Parte 1 - Complexidade e Programação Competitiva
      • Complexidade e notação Big O
      • Complexidade em funções recursivas
      • Crescimento de funções - Notação Theta e Omega
      • Programação competitiva
    • Parte 3 - Algoritmos de pesquisa
      • Busca linear
    • Parte 4 - Ordenação Interna
      • Quicksort
    • Parte 5 - Tipos Abstratos de Dados (TAD)
    • Parte 6 - Estruturas Flexíveis e Estáticas
    • Parte 7 - Árvores e Tabela Hash
      • Árvore Binária
  • Algoritmos e Estruturas de Dados 3
    • CRUD
    • Intercalação balanceada
  • C
    • Argumentos-de-entrada
    • debug
      • Introducao-ao-gdb
      • Introducao-ao-valgrind
    • ponteiro
      • Ponteiros e Alocação de Memória em C
    • string
      • Strings em C
      • Leitura-de-Strings-em-C
  • Java
    • Nocoes-basicas
    • Argumentos-de-entrada
    • Debug em Java
      • java-debugger-tool
      • visual-studio-debugger
    • string
      • String-em-Java
    • Tratamento de Exceções em Java
      • try-catch-e-o-throws
  • COMO-CONTRIBUIR
Powered by GitBook
On this page
  • Links úteis
  • Online
  • Cursos
  • Livros

Algoritmos e Estruturas de Dados 2

Seja bem-vindo a Algoritmos e Estruturas de Dados 2. Na primeira disciplina, vocês deram os seus primeiros passos em como programar, aprenderam sobre a sintaxe das linguagens de programação, alguns conceitos mais avançados, inclusive aprenderam o básico em como programar usando o paradigma de POO. Nesta disciplina, vocês iram dar um passo além, aprendendo um pouco sobre complexidade de tempo e espaço, tipos abstratos de dados, algoritmos de ordenação interna, além de algumas das mais importantes estruturas de dados que existem na programação.

Lembrando que todos os conceitos que vimos até então vão ser de extrema importância aqui para frente, e por isso, espero que tenham entendido bem o conteúdo de AEDs1. Deixarei alguns links úteis nessa seção para vídeos e livros que vão te ajudar a entender o conteúdo que falaremos aqui, além de uma pequena revisão de AEDs1.

Obrigado pela atenção e bons estudos.

Links úteis

Online

  • Fabio Akita

    • Hello World Como Você Nunca Viu Antes

    • O que vêm depois do Hello World - Consertando o meu C

    • Árvores: O Começo de TUDO | Estruturas de Dados e Algoritmos

  • FreeCodeCamp.org

    • Algorithms and Data Structures for Beginners

    • Data Structures - Easy to Advance

Cursos

  • MIT OpenCourseWare - Introduction to Algorithms - Este curso online gratuito do MIT é baseado no livro de Cormen et al. mencionado acima e inclui palestras em vídeo, leituras recomendadas e exercícios práticos. O curso cobre em detalhes como calcular a complexidade de funções recursivas. (Link)

Livros

  • Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People, é um livro grande, mas também muito mais didático, aconselho começar por este livro por ser um com uma leitura mais fácil e como o nome sugere, aborda os assuntos com exemplos ilustrativos.

  • Introduction to Algorithms, um livro grande e bem denso, mas que vai te dar uma excelente base não só para AEDs2, mas para futuras disciplinas que envolve a matéria de Algoritmos e Estruturas de Dados.

PreviousEntendendo PolimorfismoNextParte 1 - Complexidade e Programação Competitiva

Last updated 2 years ago