MC3305 Algoritmos e Estruturas de Dados II. Aula 00 Apresentação. Prof. Jesús P. Mena-Chalco.

Documentos relacionados
Processamento da Informação Ambientes de programação

Introdução à linguagem C

Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação

MCTA028 Programação Estruturada Aula 01: - Introdução à linguagem C - Teste de avaliação

MCTA001 Algoritmos e Estruturas de Dados I Apresentação e exercícios básicos

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

Programa Analítico de Disciplina SIN213 Projeto de Algoritmos

SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

SCC-501 Introdução à Ciência de Computação II

PLANO DE DISCIPLINA DISCIPLINA: Estrutura de Dados 2

Descrição da Disciplina

SCC-201 Introdução à Ciência de Computação II

AED Algoritmos e Estruturas de Dados LEE /2004

If969 - Algoritmos e Estruturas de Dados

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

Filas de Prioridades Letícia Rodrigues Bueno

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

Heapsort Letícia Rodrigues Bueno

Algoritmos e Estruturas de Dados II LEIC

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática. 3 a ETAPA

ESTRUTURA DE DADOS DCC013

Introdução. Estrutura de Dados II Prof Jairo Francisco de Souza

PLANO DE APRENDIZAGEM. CH Teórica: 80 Prática: 20 CH Total: 100 Créditos: 05 Pré-requisito(s): Linguagem de Programação I Período: III Ano: 2019.

Web site. Profa. Patrícia Dockhorn Costa.

Breve Introdução à Complexidade Assintótica de Algoritmos Letícia Rodrigues Bueno

Complexidade Assintótica de Programas Letícia Rodrigues Bueno

Análise de Algoritmos e Estruturas de Dados

Algoritmos para Automação e Sistemas

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Quicksort Letícia Rodrigues Bueno

AED Algoritmos e Estruturas de Dados LEEC /2005. Apresentação. Algoritmos e Estruturas de Dados

Planejamento da Disciplina

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Estruturas de Dados. Pedro Ribeiro 2017/2018 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/ / 16

Algoritmos e Estrutura de Dados. Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira

SCC0502 Algoritmos e Estruturas de Dados I

TEORIA: 60 LABORATÓRIO: 0

Estrutura de Dados II

ESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018

Teoria dos Grafos. Professor: Guilherme Oliveira Mota.

Algoritmos e Estruturas de Dados

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Corpo Docente. Algoritmos e Estruturas de Dados LEE 2014/ /02/15. Apresentação. } Fernando Mira da Silva

SCC0502 Algoritmos e Estruturas de Dados I. Profa. Maria Cristina

AED Algoritmos e Estruturas de Dados LEEC /2006. Apresentação

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2016/2017

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

Aspectos preliminares

Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno

Notação Assintótica Letícia Rodrigues Bueno

1 Introdução à Programação O que é? Para que serve?... 1

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1

Informações Importantes! INF TURMA A

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1

Algoritmos e Estruturas de Dados. Lição n.º 1 Algoritmos e Estruturas de Dados

Teoria da Complexidade Computacional

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA

Limite assintótico para a ordenação, Ordenação em tempo linear

PROGRAMAÇÃO E ALGORITMOS (LEI, TSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

Introdução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

1 a Aula. Mestrado em Engenharia Física Tecnológica

Estrutura de Dados e Arquivos Ementa Objetivo Geral Conteúdo Avaliação

PCC104 - Projeto e Análise de Algoritmos

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática. 4 a ETAPA

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2017/2018

[Cormen et al., 2002] Algoritmos: Teoria e Prática Tradução da segunda edição em inglês.

Programa Analítico de Disciplina INF101 Introdução à Programação II

Anual Obrigatória X Semestral X Opcional. Regime Diurno Nocturno Horas/semana T Teórica 2 Ano 1 1 T/P Teórico/Prática 4 Semestre 1 1 P- Prática

Projeto e Análise de Algoritmos

Ana Paula Rocha José Magalhães Cruz Rui Camacho. 26 de Fevereiro de 2009

Introdução à Linguagem C. K&R: Capitulo 1

Algoritmos de Ordenação. Cota inferior. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2014/2015

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

Universidade do Estado da Bahia UNEB Departamento de Ciências Exatas e da Terra - Campus I

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO

n Professor n Duas Avaliações prático-teóricas: n Componente Teórico: 20 pontos n Componente Prático: 15 pontos

Teoria da Computação. Aula 9 Pesquisa em Memória Secundária 5COP096. Aula 9 Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

INE5408 Estruturas de Dados. Apresentação e Programa da Disciplina

Introdução à Programação. Prof. Gustavo Callou

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

Algoritmos e Programação

DIVISÃO DE ASSUNTOS ACADÊMICOS Secretaria Geral de Cursos PROGRAMA DE DISCIPLINA

Algoritmos Fundamento e Prática

FORMULÁRIO PARA CRIAÇÃO E/OU REGULAMENTAÇÃO DE DISCIPLINA

FACULDADE DE TECNOLOGIA DE TAQUARITINGA 13 ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

PLANO DE ENSINO DE ALGORITMOS

Fundamentos de Programação 1

Ordenação e Pesquisa de Dados. Aula 07 Insertion Sort e Bubble Sort

- Métodos simples de busca - Métodos ingênuos de ordenação (introdução)

DISCIPLINA: Programação de Computadores I

Transcrição:

MC3305 Algoritmos e Estruturas de Dados II Aula 00 Apresentação Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1

Apresentação Professor: Jesús P. Mena-Chalco (CMCC) Formação: - Engenheiro da Computação. - Mestre e Doutor em Ciência da Computação. Instituto de Matemática e Estatística da USP. Sala 517-A, torre 2, 5º Andar. Áreas de pesquisa: - Reconhecimento de padrões, Bibliometria, e Cientometria. 2

Apresentação Johann Bernoulli (1667-1748) Árvore de genealogia: 81.768 vértices (matemáticos) 88.955 arestas (relacionamentos) 3

Apresentação Fuga/Migração de pessoas Aplicação de estruturas de dados eficientes para a análise de dados. 4

Sobre a disciplina 5

Requisito: Algoritmo e Estrutura de Dados I Ementa: Breve introdução à linguagem C/C++. Recursão. Noções básicas de análise de complexidade de tempo de algoritmos. Representação, organização e gerenciamento de dados em memória primária: listas, filas, pilhas. Algoritmos de busca: busca sequencial, busca binária. Algoritmos de ordenação: inserção, seleção, bolha, mergesort, heapsort, quicksort. 6

Algoritmo e Estrutura de Dados II Algoritmos de ordenação em tempo linear e ordenação parcial: counting sort, radix sort, bucket sort. Representação, organização e gerenciamento de dados em memória primária: técnicas de pesquisa; noções de complexidade: hashing; union-find; árvores AVL, árvores rubro-negras. Representação, organização e gerenciamento de dados em memória secundária: técnicas de pesquisa; noções de complexidade: árvores B; Algoritmos de ordenação mergesort e keysort; arquivos indexados. 7

Bibliografia Livro-texto SZWARCFITER, J. L.; MARKEZON, L. Estruturas de Dados e seus Algoritmos, 3a edição, LTC, 2010. 8

Bibliografia Complementar CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L. e STEIN, C. Introduction to Algorithms, 3a edição, MIT Press, 2009. ZIVIANI, N. Projeto de Algoritmos: com implementações em Pascal e C, 2a edição, Cengage Learning, 2009 FOLK, M.; ZOELLICK B. File Structures, 2a edição, AddisonWesley, 1992. FOLK, M.; ZOELLICK, B.; RICCARDI, G. File Structures, An Object-Oriented Approach Using C++, 3a edição, AddisonWesley, 1998. SEDGEWICK, R. Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching, 3a edição. Addison-Wesley, 1997. 9

Algoritmo e Estrutura de Dados II TIDIA-AE: AED2-2015-2Q TPI: 2-2 - 4 É muito importante considerar as ~4 horas de estudo fora da aula. Fall in love with mathematics Be self-motivated Never back down Become a master Be a bookworm (pratique matemática) (trabalhe com pares) (seja persistente) (ensine aos colegas) (seja leitor ávido) Leia as seguintes sugestões: http://www.wikihow.com/learn-a-programming-language 10

Alguns livros importantes para a carreira 11

Sobre a linguagem de programação Atualmente existem várias linguagens que são consideradas para este tipo de disciplinas... (Python, C, C++, Java, Haskell, Ruby) Também vários paradigmas de programação (e.g. procedural, orientado a objetos,) podem ser consideradas... Todo programador competente deve saber/entender a linguagem C/C++. Tradicionalmente é utilizada a linguagem C/C++. Nessa disciplina usaremos C/C++. 12

Sobre a linguagem de programação C Influenciada por: ALGOL 68 Assembly B BCPL CPL Fortran PL/I Influenciou: AWK, BitC, C++, C, C Shell, D, Euphoria, Go, Java, JavaScript, Limbo, Logic Basic, Objective-C, Perl, PHP, Python,... 13

C x Java Não possui suporte a orentação a objetos Linguagem de nível intermediário: controle mais direto do hardware, porém também suporta estruturas complexas Gerenciamento de memória explícito Detecção de erro explícita (sem try/catch) Maior performance do programa final Maior dificuldade de manutenção 14

Sobre a linguagem de programação C Precisa instalar um compilar no seu computador: Usaremos o GNU Compiler Collection (gcc) No Linux: é padrão. No Mac/OS: tera que instalar as ferramentas Xcode/Developer. No MS-Windows: Cygwin (simulação completa de um ambiente UNIX). Ming-W (Minimalist GNU for Windows). 15

Sobre o IDE (Integrated development environment) Ambiente de desenvolvimento integrado: Kdevelp Code Blocks Netbeens C++ Eclipse CDT Dev C++ C-Free Vi Emacs http://designzum.com/2014/02/26/best-compilers-and-ides-for-cc-programmers/ 16

17

Sobre a avaliação 18

Sobre a avaliação Prova 01: 07/07 Prova 02: 18/08 Exercícios Prova Substitutiva: 25/08 Prova REC: 15/09 30% 40% 30% Atribuição de conceitos: A: nota 9 B: 7,5 nota < 9 C: 6 nota < 7,5 D: 5,0 nota < 6 F: nota < 5,0 19

Página web http://professor.ufabc.edu.br/~jesus.mena/courses/mc3305-2q-2015/ 20