Escolar Documentos
Profissional Documentos
Cultura Documentos
28/02/2011
Web site
http://www.inf.ufes.br/~pdcosta/ensino/ Profa. Patrcia Dockhorn Costa Email: pdcosta@inf.ufes.br
Introduo
O que so estruturas de dados? Benefcios?
Organizao da informao Melhora o desempenho Proporciona o reuso de cdigo Proporciona interoperabilidade Diminui custos
Objetivos gerais
Familiarizar os alunos com as principais estruturas de dados, e suas correspondentes abstraes. Final do curso o aluno poder projetar e implementar diversas estruturas de dados, conhecendo suas vantagens e desvantagens
Background da turma
Programa da disciplina
Introduo Tipos Abstratos de Dados
Definio de estrutura abstrata Pr e ps condies Conceito de software em camadas
Listas
Lista com alocao esttica e alocao dinmina Listas duplamente encadeadas Listas circulares e listas duplamente encadeadas circulares
Filas
Filas com estruturas esttica e dinminca Aplicaes
Recurso rvores
rvore binria Algoritmos de travessia rvore binria de busca rvore com Nmero Varivel de filhos rvore genrica
Critrios de avaliao
Duas provas parciais e trabalhos. A mdia parcial calculada por: MP = 0,5*P + 0,5*T onde: P a mdia aritmtica das provas parciais e T a mdia aritmtica das notas dos trabalhos. A mdia final ser: MF = MP, se MP 7,0. MF = (PF + MP)/2, se MP < 7,0. (PF a nota da prova final) Se MF 5,0 -> Aprovado. Se MF < 5,0 -> Reprovado.
Bibliografia
Celes, Cerqueira e Rangel. Introduo a Estruturas de Dados, Editora Campus
ZIVIANI, Nivio Projetos de Algoritmos com implementacoes em Pascal e C , Livraria Pioneira Informtica , 1993 SEDGEWICK, Robert. Algorithms in C, Parts 1-4, Third Edition, Addison- Wesley, 1997 SZWARCFITER, Jayme e MARKENZON Lilian Estruturas de Dados e seus Algoritmos, 2a Edicao, LTC - Livros Tecnicos e Cientficos S.A., 1997 CORMEN, Thomas H., LEISERSON, Charles E., RIVEST, Ronald L., STEIN, Cliff. Introduction to Algorithms (Second Edition), MIT Press, 2001 TENENBAUM, LANGSAM, and AUGENSTEIN Estruturas de Dados usando C, Pearson, 2005 KNUTH, Donald E. The Art of Computer Programming, Volume I, Third Edition, Addison-Wesley, 1997
Modelo de um Computador
Armazenamento de Dados
Organizao da memria: Bits
Menor unidade Valores 0 ou 1
Bytes
Sequncia de 8 bits
Clula
Sequncia de bits Menor unidade de endereamento
Armazenamento de Dados
Espao de memria finito
Ex., espao de 1 byte (8 bits), podemos representar apenas 2^8 (=256) valores distintos
Compilao de Programas
Compilao: traduo de cdigo fonte (Pc) para linguagem de mquina (M). Compilador (Cm), escrito em M: l o programa Pc e traduz cada instruo para M, escrevendo o programa objeto (Pm)
Ciclo de Desenvolvimento
Programas em C geralmente so dividos em vrios arquivos Cada arquivo pode ser compilado separadamente Para gerar um executvel, precisamos reunir os os cdigos dos arquivos separados (juntamente com as bibliotecas usadas) : Ligador Bibliotecas: permitem que funes de interesse geral sejam usadas por vrios programas O ligador pode ser usado automaticamente pelo compilador (biblioteca padro), ou deve ser explicitamente acionado
Tipos de Dados
Definio
Conjunto de valores (domnio) Possveis operaes Ex. int
Domnio (conjunto dos nmeros inteiros) Operaes (soma, subtrao, multiplicao, etc.)
Ex. boolean
Domnio (true, false) Operaes (and, or, not)
Endereo
Logradouro (praa, rua, etc) Nmero Bairro Cidade CEP Pas
Ex. endereo
VALOR_ENDERECO = CRIA_ENDERECO () MODIFICA_LOGRADOURO (VALOR_ENDERECO, Av. Fernando Ferrari)
Exerccio
Defina os seguintes tipos de dados usando as duas abordagens apresentadas anteriormente (estrutura e comportamento)
Tipo ponto (coordenadas plano bidimensional) Tipo reta Tipo polinmio (grau 2)