Skip to the content.

Visão Geral do Capítulo 🎯

Este capítulo inicial tem como objetivos esclarecer a diferença entre a disciplina de “Lógica de Programação e Algoritmos” e o estudo aprofundado de “Estruturas de Dados e Algoritmos”, além de nivelar conhecimentos essenciais sobre objetos, funções, memória e leitura de JSON com Python e Java.

Estruturas de Dados vs. Lógica de Programação 🤔 vs. 💻

Embora “tudo” seja algoritmo, existe uma distinção importante entre o que se aprende inicialmente e o foco deste curso:

O Que São Estruturas de Dados? 🏗️

Estruturas de Dados tratam da organização e armazenamento de dados na memória de um computador. O objetivo é projetar e implementar métodos para gerenciar dados de forma que a recuperação e modificação sejam eficientes. Seus principais objetivos são:

Os principais tipos de estruturas de dados incluem:

Pré-requisitos: Preciso Saber Orientação a Objetos (OO)? 🙋

Não é necessário ter uma base completa de OO antes de estudar Estruturas de Dados (ED). Contudo, é preciso ter conhecimento de tipos estruturados (classes e atributos), pois são a base para a implementação das estruturas.

Comportamento de Memória: Tipos Referência vs. Tipos Valor 🧠💾

A forma como as variáveis são armazenadas na memória (Stack vs. Heap) é um conceito fundamental:

Desalocação de Memória 🗑️

A liberação da memória utilizada ocorre de duas formas principais, um fundamento que se aplica a todas as linguagens modernas:

Foco do Curso 💡

Este curso foca em técnicas de elaboração de soluções, não em uma linguagem específica. O importante é entender o raciocínio e as estruturas para ser capaz de implementá-los em qualquer linguagem de programação. Um bom programador deve ser capaz de “traduzir” soluções entre diferentes linguagens, utilizando ferramentas como Google e Stack Overflow quando necessário.


ricardotecpro.github.io