0% acharam este documento útil (0 voto)
92 visualizações18 páginas

EDA-01 ApresentacaoDoCurso

(1) O documento apresenta uma introdução à disciplina de Estrutura de Dados ministrada pelo professor Janderson Jason Barbosa Aguiar na Universidade Estadual da Paraíba; (2) A disciplina é oferecida no 4o semestre e aborda conceitos como algoritmos, estruturas de dados, análise de eficiência e complexidade; (3) A avaliação é composta por provas, implementações e a disciplina tem um histórico de aprovação entre 30-70% dependendo do semestre.

Enviado por

PierreChambertan
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
92 visualizações18 páginas

EDA-01 ApresentacaoDoCurso

(1) O documento apresenta uma introdução à disciplina de Estrutura de Dados ministrada pelo professor Janderson Jason Barbosa Aguiar na Universidade Estadual da Paraíba; (2) A disciplina é oferecida no 4o semestre e aborda conceitos como algoritmos, estruturas de dados, análise de eficiência e complexidade; (3) A avaliação é composta por provas, implementações e a disciplina tem um histórico de aprovação entre 30-70% dependendo do semestre.

Enviado por

PierreChambertan
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 18

Universidade Estadual da Paraíba — UEPB

Centro de Ciências e Tecnologia — CCT


Departamento de Computação — DC

Estrutura de Dados

Introdução à disciplina
Estrutura de Dados

Janderson Jason Barbosa Aguiar

Campina Grande – PB
2022
Sobre a disciplina

• Relembrando a estrutura curricular...

EDA — Janderson J. B. Aguiar 2


Sobre a disciplina

• Relembrando a estrutura curricular...


– 1º ao 3º semestre:
• Algoritmos
• Linguagem de Programação I
• Linguagem de Programação II
• ...
– 4º semestre:
• Laboratório de Programação
• Estrutura de Dados
• ...

EDA — Janderson J. B. Aguiar 3


Sobre a disciplina

• Estrutura de Dados (EDA)


– Carga Horária:
• 60h
– Outras informações:
• https://classroom.google.com

EDA — Janderson J. B. Aguiar 4


Sobre a disciplina

• Referência básica:
– Introduction to Algorithms
• CORMEN et al. (2002)
– Versão em português: Algoritmos: Teoria e Prática

EDA — Janderson J. B. Aguiar 5


Sobre a disciplina

• Algumas possíveis dúvidas iniciais...


– É importante?
– Vamos usar alguma linguagem de
programação?
• Vamos aprender uma nova linguagem?
– É “rasgada”?
• Dá para “pagar” com 10?
• Dá para pelo menos “pagar” com 5?
– Vai ser só prova para avaliar o desempenho?
– ... ?

EDA — Janderson J. B. Aguiar 6


Resultados em períodos anteriores...

• Turmas noturnas
Aprovação Abandono Reprovação
100%
4%
16%
21% 22%
30%
26%
80%

28%
60% 45%
42%
33%

40%
70%

50%
20% 37% 39% 38%

0%
2015.2 2016.1 2016.2 2017.1 2017.2
EDA — Janderson J. B. Aguiar 7
Resultados em períodos anteriores...

• Turmas noturnas
2015.2 2016.1 2016.2 2017.1 2017.2
Menor média final * 3,6 2,7 2,0 1,9 1,3
Maior média final 9,7 8,3 9,1 10,3 11,0
% aprovação ** 16/23 10/27 12/31 09/24 09/18
% abandono *** 06/23 09/27 14/31 10/24 05/18
% reprovação **** 01/23 08/27 05/31 05/24 04/18

* Não considerando os alunos reprovados por falta


** Nº de aprovados / nº de matriculados
*** Nº de reprovados por falta / nº de matriculados
**** Nº de reprovados por nota / nº de matriculados

EDA — Janderson J. B. Aguiar 8


Sobre a disciplina

• Avaliação I1
I2

– Provas P1
I3
• P1, P2, P3
– Implementações
I4
• I1, I2, I3, I4
P2

P3
Unidade 1 Unidade 2

– E reposição...
• No máximo, 1 prova por unidade

EDA — Janderson J. B. Aguiar 9


Sobre a disciplina

• Avaliação*
– 1ª Unidade (Parcial1)
• 08% Implementação1 (Análise de Busca Linear e Busca Binária)
• 17% Implementação2 (Análise de Algoritmos de Ordenação)
• 55% Prova1 (Análise de Algoritmos; Ordenação)
• 20% Implementação3 (Pilha e Fila)

– 2ª Unidade (Parcial2)
• 38% Prova2 (Pilha e Fila; Listas Encadeadas; BST; Tabelas Hash)
• 25% Implementação4 (Listas Encadeadas; BST; Tabelas Hash; Heapsort)
• 37% Prova3 (Heap Binária; Árvores AVL, PV e B)

*podem ocorrer alterações durante o período

EDA — Janderson J. B. Aguiar 10


O que é um algoritmo?

• Sequência finita de instruções que


permitem a realização de uma tarefa

• Procedimento computacional bem definido


que toma algum valor (ou conjunto de
valores) como entrada e produz algum
valor (ou conjunto de valores) como saída

• ...

EDA — Janderson J. B. Aguiar 11


Como descrever algoritmos?

• Linguagem natural
– Informal, ambígua, prolixa, falta de estrutura

• Linguagem de programação
– Às vezes a sintaxe atrapalha

• Pseudocódigo
– Conciso, estruturado, adequado para a
tradução em linguagem de programação

EDA — Janderson J. B. Aguiar 12


Avaliação de Algoritmos

• Corretude
– Um algoritmo é correto se para toda entrada
ele produz a saída esperada

• Simplicidade
– Um algoritmo é simples se for fácil: entender,
implementar e manter

• Eficiência
– Qual a relação entre o algoritmo e o consumo
de recursos?
EDA — Janderson J. B. Aguiar 13
Eficiência

• Vamos discutir sobre este trecho de


código:

while not isInOrder(deck):


shuffle(deck)

EDA — Janderson J. B. Aguiar 14


Eficiência

• Como?
– Abordagem Experimental
• Implementar os algoritmos
• Realizar um experimento controlado
– Ex.: Análise estatística dos resultados
• Fatores que influenciam
– Ex.: Hardware e Tamanho da entrada

long antes = System.nanoTime();


//trecho de código a ser analisado
long depois = System.nanoTime();
long tempo = depois - antes;

EDA — Janderson J. B. Aguiar 15


Eficiência

• Como?
– Método Analítico
• Simples
• Independente de plataforma
• Pode ser generalizado para um espectro maior de
entrada
• Análise de pseudocódigo, sem a necessidade de
execução

EDA — Janderson J. B. Aguiar 16


E as Estruturas de Dados?

• Estrutura de Dados: meio para


armazenar e organizar dados, facilitando
seu acesso e modificações
– Nenhuma estrutura de dados funciona bem
para todos os propósitos
– É importante conhecer os pontos fortes e as
limitações de várias delas
• Antes de estudá-las, é importante saber analisá-las!

EDA — Janderson J. B. Aguiar 17


Slides da disciplina
baseados no material dos
professores João Arthur
e Adalberto Cajueiro
(DSC/CEEI/UFCG)

EDA — Janderson J. B. Aguiar 18

Você também pode gostar