Estruturas de Dados. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Documentos relacionados
LINGUAGEM DE PROGRAMAÇÃOC. GrupoNT

Técnicas de Estudos. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Estruturas de Dados Apresentação

Técnicas de negociação. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Fundamentos de Economia. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Análise e Acompanhamento de Projetos. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Tratamento de Informações para a Internet. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Autor Maria Amélia de Paula Dias. Revisão NT Editora e Figuramundo. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora e Figuramundo

PROGRAMAÇÃO ORIENTADAAOBJETOS. FernandoAlbuquerque

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

INTRODUÇÃOAOUSO DOSCOMPUTADORES. JoséRicardoMoreira

BR Office Impress Completo. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm. ISBN 1. Uma introdução a apresentações eletrônicas

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração Márcio Rocha

Marketing Pessoal. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Autor Grupo NT. Revisão NT Editora. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora. Ilustração Bruno Azevedo.

Autor Ismael Souza Araujo. Revisão NT Editora. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora. Capa NT Editora

ISBN 1. Contabilidade Tributária; Legislação Tributária; Planejamento Tributário.

Autor Ismael Souza Araujo. Revisão NT Editora. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora. Capa NT Editora

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Revisão NT Editora e Figuramundo. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora e Figuramundo. Capa NT Editora

REDAÇÃOTÉCNICO JURÍDICA. ElianeFereiraSousa

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração Bruno Azevedo

NT, Grupo. Técnicas de Digitação / Grupo NT 1. ed. Brasília: NT Editora,

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração Bruno Azevedo

Novas Regras Ortográficas da Língua Portuguesa. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

RELACIONAMENTO INTERPESSOAL. MarinaFigueiredo

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração Bruno Azevedo

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração Daniel Motta

Autor Walkir de Oliveira Souza. Revisão NT Editora. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora. Ilustração Olaff Behrend

Redação Técnica. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Processamento Eletrônico de Documentos - Curso Avançado / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Informática para o Trabalho / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Sistemas Operacionais Windows. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Autor Walkir de Oliveira Souza. Revisão NT Editora. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora. Ilustração Olaff Behrend

Organização de Viagens. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm. ISBN Viagens, turismo, passagens aéreas.

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Autor José Ricardo de Araújo Moreira. Revisão NT Editora. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora.

Saúde e Segurança no Trabalho. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

CRIAÇÃODEANIMAÇÕES PARAINTERNET. MayconSadala

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Técnicas de Estudo. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

ISBN Tributação. Imposto. Taxa. Contribuição. Arrecadação. Serviços públicos.

Empreendedorismo. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

BR Office Writer Avançado. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Revisão NT Editora e Figuramundo. Projeto Gráfico NT Editora. Editoração Eletrônica NT Editora e Figuramundo. Capa NT Editora e Figuramundo

Administração de Compras. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Vendas para o Governo. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Educação Tributária Básica. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Princípios Básicos e Fundamentais da Eletricidade. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

ISBN Pesquisa de Mercado. Coleta de dados. Instrumento de pesquisa. Questionário. Mercado consumidor. Avaliação e resultados.

EDITORAÇÃOELETRÔNICA COM INDESIGN. MarcusViniciusdeOliveiraHermeto

INE5384 Estruturas de Dados. Sumário

Planejamento e Gestão de Materiais, Produtos e Patrimônio. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Fundamentos de Administração. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

OPERAÇÃODECALDEIRAS. EdsonLuizNeri-RosylenedosSantosCarvalho-SthenyoRibeirodeSouza

Tratamento de Imagens com Photoshop. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

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

Dados Gerais. Conteúdo. Tipos de Dados. Profa. Renata de Matos Galante

Classificação Externa: Intercalação de Partições Classificadas

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Capítulo 8: Abstrações de dados

Estrutura de Dados. Aleardo Manacero Jr.

Comportamento de Compra e Consumo. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Telemarketing Básico. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

SISTEMASOPERACIONAISLINUX. IsmaelSouzaAraujo

SCC0502 Algoritmos e Estruturas de Dados I

Projeto Gráfico NT Editora. Capa NT Editora. Ilustração NT Editora

Informática e Sociedade. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Transcrição:

Autor Homero Luiz Píccolo Formado em Engenharia Eletrônica pela Escola Politécnica da Universidade de São Paulo. Mestre em Engenharia Elétrica pela Universidade de Brasília. Professor do Departamento de Ciência da Computação da Universidade de Brasília. Área de Especialização: Computação Gráfica Revisão NT Editora e Figuramundo Projeto Gráfico NT Editora Editoração Eletrônica NT Editora e Figuramundo Capa NT Editora e Figuramundo NT Educação, uma empresa do Grupo NT SCS Q2 - Bl. D - Salas 307 e 308 - Ed. Oscar Niemeyer CEP 70316-900 - Brasília - DF Fone: (61) 3421-9200 sac@grupont.com.br www.nteditora.com.br e www.grupont.com.br Estruturas de Dados. / NT Editora. -- Brasília: 2013. 97p. : il. ; 21,0 X 29,7 cm. ISBN - 978-85-68004-13-5 1. Estrutura de Dados 2. Programação de Computadores 3. Algoritmos 4. Treinamento interativo. Copyright 2014 por NT Editora. Nenhuma parte desta publicação poderá ser reproduzida por qualquer modo ou meio, seja eletrônico, fotográfico, mecânico ou outros, sem autorização prévia e escrita da NT Editora.

LEGENDA ÍCONES Prezado(a) aluno(a), Ao longo dos seus estudos, você encontrará alguns ícones na coluna lateral do material didático. A presença desses ícones o ajudará a compreender melhor o conteúdo abordado e também como fazer os exercícios propostos. Conheça os ícones logo abaixo: Saiba Mais Este ícone apontará para informações complementares sobre o assunto que você está estudando. Serão curiosidades, temas afins ou exemplos do cotidiano que o ajudarão a fixar o conteúdo estudado. Importante O conteúdo indicado com este ícone tem bastante importância para seus estudos. Leia com atenção e, tendo dúvida, pergunte ao seu tutor. Dicas Este ícone apresenta dicas de estudo. Exercícios Toda vez que você vir o ícone de exercícios, responda às questões propostas. Exercícios Ao final das lições, você deverá responder aos exercícios no seu livro. Bons estudos!

Sumário 1. INTRODUÇÃO... 5 2. PONTEIROS... 10 2.1 Variáveis estáticas e variáveis dinâmicas...10 2.2 Variável tipo ponteiro...10 2.3 O Tipo pointer...12 2.4 Exemplos de utilização de ponteiros...13 3. LISTAS... 19 3.1 Conceitos...19 3.2 Implementação...19 3.3 Tipos básicos de listas...20 3.4 Algoritmos para listas...21 3.5 Aplicações...36 4. PILHAS E FILAS... 45 4.1 Conceitos...45 4.2 Implementação...46 4.3 Aplicações...48 5. ÁRVORES... 59 5.1 Conceitos...59 5.2 Árvores binárias...61 5.3 Implementação de árvores genéricas por meio de árvores binárias...65 5.4 Árvores binárias de pesquisa...69 5.5 Balanceamento de árvores binárias...73 6. GRAFOS... 85 6.1 Conceitos...85 6.2 Implementações...87 6.3 Algoritmos...88 6.4 Aplicações...91 BIBLIOGRAFIA... 97 4 NT Editora

1. INTRODUÇÃO Ao concluir esta lição, você deverá ser capaz de: Conhecer as formas mais básicas de organizar os dados na memória de um computador, de forma que essa organização reflita bem o problema que está sendo tratado e torne mais eficientes os algoritmos que manipulem esses dados. Na resolução de um problema por meio de um programa, a primeira providência é conceber um algoritmo adequado. A eficiência de um algoritmo qualquer está intimamente relacionada com a disposição, na memória, dos dados que são tratados pelo programa. Por exemplo, se frequentemente enfrentamos o problema de descobrir os números dos telefones de nossos conhecidos, é conveniente dispor de uma relação de números, organizada em uma agenda. Se a organização for feita por ordem alfabética, a agenda de fato ajuda. Se, porém, organizássemos nossa agenda pela ordem da altura das pessoas, com raras exceções, a agenda se tornaria difícil de manusear. As estruturas de dados são formas de distribuir e relacionar os dados disponíveis, de modo a tornar mais eficientes os algoritmos que manipulam esses dados. Vejamos alguns exemplos. Algoritmo : Um algoritmo é um processo sistemático para a resolução de um problema, consistindo de um sequência de passos, ordenada e sem ambiguidades. Problema Manipular um conjunto de fichas em um fichário. Solução Organizar as fichas em ordem alfabética. Reprodução proibida. Copyright NT Editora. Todos os direitos reservados. Operações Possíveis Inserir ou retirar uma ficha, procurar uma ficha, etc. Estrutura de Dados Correspondente LISTA sequência de elementos dispostos em ordem. Problema Organizar as pessoas que querem ser atendidas em um guichê. Solução Colocar as pessoas em fila. SUMÁRIO Estruturas de Dados 5

Operações Possíveis À medida que uma pessoa é atendida no guichê, outra entra no final da fila.. Não é permitido furar a fila, ou seja, entrar uma pessoa entre outras que já estão presentes. Estrutura de Dados Correspondente FILA sequência de elementos dispostos em ordem com uma regra para a entrada e saída dos elementos (o primeiro elemento que chega também é o primeiro que sai da estrutura). Problema Organizar um conjunto de pratos que estão sendo lavados, um a um, em um restaurante. Solução Colocar os pratos empilhados. Operações Possíveis Colocar um prato limpo no alto da pilha, retirar um prato do alto da pilha, etc. Estrutura de Dados Correspondente PILHA sequência de elementos dispostos em ordem, mas com uma regra para a entrada e saída dos elementos (o último que chega é o primeiro que sai da estrutura). Problema Conseguir um modo de visualizar o conjunto de pessoas que trabalham em uma empresa, tendo em conta sua função. Solução Construir um organograma da empresa. Operações Possíveis Inserir ou retirar certas funções, localizar uma pessoa, etc. Estrutura de Dados Correspondente ÁRVORE estrutura de dados que caracteriza uma relação de hierarquia entre os elementos (uma pessoa não pode pertencer a dois departamentos diferentes, cada diretoria tem os seus próprios departamentos, etc.). Reprodução proibida. Copyright NT Editora. Todos os direitos reservados. 6 NT Editora SUMÁRIO

Problema Estabelecer um trajeto para percorrer todas as capitais de um país. Solução Utilizar um mapa que indique as rodovias existentes e estabelecer uma ordem possível para percorrer todas as cidades. Operações Possíveis Encontrar um modo de percorrer todas as cidades, determinar o caminho mais curto para ir de uma cidade a outra, etc. Estrutura de Dados Correspondente GRAFO estrutura bastante genérica que organiza vários elementos, estabelecendo relações entre eles, dois a dois. Os exemplos vistos correspondem exatamente aos tipos básicos de estruturas de dados utilizadas em computação: listas, filas, pilhas, árvores e grafos. Reprodução proibida. Copyright NT Editora. Todos os direitos reservados. As estruturas de dados são abstratas, isto é, devem ser imaginadas como uma forma de organizar e relacionar dados na memória do sistema, de modo a permitir certas operações sobre esses dados, independentemente da forma como essas estruturas são implementadas. Elas podem ser implementadas de diversos modos, dependendo da capacidade da máquina e dos recursos oferecidos pela linguagem que se utiliza. Neste curso, procuraremos implementá-las sempre utilizando ponteiros, de modo que o gerenciamento da memória possa ser dinâmico. Isto significa que as estruturas podem ser criadas, ampliadas, reduzidas ou removidas da memória em tempo de execução, permitindo uma otimização no uso da memória disponível, em função do conjunto de dados que o programa está tratando. Exercícios Questão 01 Com base nos conceitos estudados nesta lição, está CORRETO afirmar: a) é preciso que você desenvolva completamente um programa para conceber um algoritmo adequado; b) a eficiência de um algoritmo não é afetada pela forma com que os dados são tratados pelo programa; c) um algoritmo é um processo sistemático para a resolução de um problema, consistindo em uma sequência de passos, ordenada e sem ambiguidades; d) as estruturas de dados são formas de distribuir e relacionar os dados disponíveis, de modo a tornar menos eficientes os algoritmos que manipulam estes dados. Parabéns, você finalizou esta lição! Agora responda às questões ao lado. SUMÁRIO Estruturas de Dados 7

Questão 02 Considere um terminal rodoviário onde os passageiros estão aglomerados na porta de um ônibus. Que tipo de estrutura de dados poderia ser usada para organizar a entrada dessas pessoas no ônibus? a) Grafo. b) Fileira. c) Pilha. d) Fila. Questão 03 Marque a alternativa que indica o melhor tipo de estrutura de dados a ser usado no caso de juntar vários livros espalhados em cima de uma mesa: a) pilha; b) biblioteca; c) árvore; d) fila. Questão 04 Suponhamos que um carteiro tenha que percorrer 5 bairros de uma cidade para entregar todas as correspondências do dia. Que tipo de estrutura de dados pode ajudá-lo a percorrer esses bairros em menos tempo? a) Gráfico. b) Árvore. c) Grafo. d) Lista. Questão 05 A secretária de um consultório médico precisa organizar os prontuários dos pacientes da clínica. Selecione a opção que indica o melhor tipo de estrutura de dados para realizar esta tarefa. a) Pilha. b) Lista. c) Arquivo. d) Fila. Questão 06 Uma árvore genealógica exemplifica que tipo de estrutura de dados? a) Árvore. b) Pilha. c) Grafo. d) Lista. Reprodução proibida. Copyright NT Editora. Todos os direitos reservados. 8 NT Editora SUMÁRIO

Questão 07 Leia com atenção as afirmativas abaixo, classifique-as como F (falsas) ou V (verdadeiras) e então marque a opção que corresponde a seu julgamento: ( ) As estruturas de dados são abstratas, apesar de aplicações bastante concretas. ( ) A linguagem Pascal é caracterizada por sua clareza e dificuldade de uso. ( ) O Pascal dispõe de todos os recursos necessários à implementação de qualquer estrutura de forma prática e eficiente. ( ) Deve-se pensar em estruturas de dados como uma forma de organizar e relacionar dados na memória do sistema, de modo a permitir certas operações com esses dados, independentemente da forma como essas estruturas são implementadas. a) F, F, V, V b) V, F, V, V c) V, F, F, V d) F, V, V, F Reprodução proibida. Copyright NT Editora. Todos os direitos reservados. SUMÁRIO Estruturas de Dados 9