ebook img

estrutura de dados e algoritmos PDF

126 Pages·2017·2.03 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview estrutura de dados e algoritmos

INFORMÁTICA APLICADA: ITI 2300 ESTRUTURA DE DADOS E ALGORITMOS Arlete Maria Ferrao Interação Homem Computador Prefácio A Universidade Virtual Africana (AVU) orgulha-se de participar do aumento do acesso à educação nos países africanos através da produção de materiais de aprendizagem de qualidade. Também estamos orgulhosos de contribuir com o conhecimento global, pois nossos Recursos Educacionais Abertos são acessados p rincipalmente de fora do continente africano. Este módulo foi desenvolvido como parte de um diploma e programa de graduação em Ciências da Computação Aplicada, em colaboração com 18 instituições parceiras africanas de 16 países. Um total de 156 módulos foram desenvolvidos ou traduzidos para garantir disponibilidade em inglês, francês e português. Esses módulos também foram disponibilizados como recursos de educação aberta (OER) em oer.avu.org. Em nome da Universidade Virtual Africana e nosso patrono, nossas instituições parceiras, o Banco Africano de Desenvolvimento, convido você a usar este módulo em sua instituição, para sua própria educação, compartilhá-lo o mais amplamente possível e participar ativamente da AVU Comunidades de prática de seu interesse. Estamos empenhados em estar na linha de frente do desenvolvimento e compartilhamento de recursos educacionais abertos. A Universidade Virtual Africana (UVA) é uma Organização Pan-Africana Intergovernamental criada por carta com o mandato de aumentar significativamente o acesso a educação e treinamento superior de qualidade através do uso inovador de tecnologias de comunicação de informação. Uma Carta, que estabelece a UVA como Organização Intergovernamental, foi assinada até agora por dezenove (19) Governos Africanos - Quênia, Senegal, Mauritânia, Mali, Costa do Marfim, Tanzânia, Moçambique, República Democrática do Congo, Benin, Gana, República da Guiné, Burkina Faso, Níger, Sudão do Sul, Sudão, Gâmbia, Guiné-Bissau, Etiópia e Cabo Verde. As seguintes instituições participaram do Programa de Informática Aplicada: (1) Université d’Abomey Calavi em Benin; (2) Université de Ougagadougou em Burkina Faso; (3) Université Lumière de Bujumbura no Burundi; (4) Universidade de Douala nos Camarões; (5) Universidade de Nouakchott na Mauritânia; (6) Université Gaston Berger no Senegal; (7) Universidade das Ciências, Técnicas e Tecnologias de Bamako no Mali (8) Instituto de Administração e Administração Pública do Gana; (9) Universidade de Ciência e Tecnologia Kwame Nkrumah em Gana; (10) Universidade Kenyatta no Quênia; (11) Universidade Egerton no Quênia; (12) Universidade de Addis Abeba na Etiópia (13) Universidade do Ruanda; (14) Universidade de Dar es Salaam na Tanzânia; (15) Universite Abdou Moumouni de Niamey no Níger; (16) Université Cheikh Anta Diop no Senegal; (17) Universidade Pedagógica em Moçambique; E (18) A Universidade da Gâmbia na Gâmbia. Bakary Diallo O Reitor Universidade Virtual Africana 22 Créditos de Produção Autor Arlete Maria Ferrao Par revisor(a) Célio Sengo UVA - Coordenação Académica Dr. Marilena Cabral Coordenador Geral Programa de Informática Aplicada Prof Tim Mwololo Waema Coordenador do módulo Jules Degila Designers Instrucionais Elizabeth Mbasu Benta Ochola Diana Tuel Equipa Multimédia Sidney McGregor Michal Abigael Koyier Barry Savala Mercy Tabi Ojwang Edwin Kiprono Josiah Mutsogu Kelvin Muriithi Kefa Murimi Victor Oluoch Otieno Gerisson Mulongo 33 Interação Homem Computador Direitos de Autor Este documento é publicado sob as condições do Creative Commons Http://en.wikipedia.org/wiki/Creative_Commons Atribuição http://creativecommons.org/licenses/by/2.5/ O Modelo do Módulo é copyright da Universidade Virtual Africana, licenciado sob uma licença Creative Commons Attribution-ShareAlike 4.0 International. CC-BY, SA Apoiado por Projeto Multinacional II da UVA financiado pelo Banco Africano de Desenvolvimento.. 44 Tabela de conteúdo Prefácio 2 Créditos de Produção 3 Direitos de Autor 4 Apoiado por 4 Descrição Geral do Curso 9 Pré-requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Materiais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Objetivos do Curso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Unidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Calendarização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Leituras e outros Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Unidade 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Unidade 0. Diagnóstico 15 Objectivos da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Termos-chave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Avaliação da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . 19 Avaliação 19 Respostas: 20 Leituras e Outros Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Unidade 1. Resolução de Problemas Algorítmicos 24 Objectivos da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Termos-chave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Actividades de Aprendizagem . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Actividade 1 .1 - Introdução a resolução de problemas e algoritmos . . . . . . . 25 Introdução 25 Caractererísticas de um algorítmo: 30 Conclusão 32 Actividade 1 .2 - Complexidade de algoritmos . . . . . . . . . . . . . . . . . . . 32 55 Interação Homem Computador Introdução 32 Avaliação 32 Conclusão 35 Actividade 1 .3 - Notação assintótica . . . . . . . . . . . . . . . . . . . . . . . . 35 Introdução 35 Avaliação 35 Análise de complexidade 39 Conclusão 41 Avaliação 41 Avaliação da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Resumo da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Respostas: 44 Leituras e outros Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Unidade 2. Recursividade 50 Objetivos da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Termos-chave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Actividades de Aprendizagem . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Actividade 2 .1 - Conceitos básicos de recursão . . . . . . . . . . . . . . . . . . 51 Introdução 51 Propriedades: 52 Implemetação 52 Conclusão: 53 Actividade 2 .2 - Séries de Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . 54 Introdução 54 Conclusão: 58 Actividade 2 .3 - Torre de Hanói . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Avaliação 58 Conclusão 60 Avaliação da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 66 Resumo da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Avaliação 61 Respostas 62 Leituras e outros Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Unidade 3. Estrutura de Dados Básicas e Tipo de Dados Abstractos 64 Objetivos da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Termos-chave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Actividades de Aprendizagem . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Actividade 3 .1 –Tipos de dados . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Introdução 65 Tipos de dados básicos também denominados tipos primitivos 66 Tipos de dados estruturados 67 Algoritmo 3.1 68 Matrizes 68 Algoritmo 3.2 69 Conjuntos: 70 Conclusão: 71 Actividade 3 .2 Estruturas de dados . . . . . . . . . . . . . . . . . . . . . . . 71 Introdução 71 Avaliação 71 1.2.1. Listas Lineares 72 1.2.2. Listas Lineares implementadas através de contiguidade física 73 1.2.3. Lista Linear Ligada ou encadeada 75 Listas Lineares em alocação ligada 76 Algoritmo 1.2.2.1 76 Algoritmo 1.2.2.1: InsertInLista 77 Algoritmo 1.2.2.2 InsertFimLista 78 Algoritmo 1.2.2.3, InsertQualPosLista 79 1.2.4. Pilhas 84 1.2.5. Fila 86 77 Interação Homem Computador 1.2.6. Tabela de dispersão 91 1.2.7. Árvores 91 Terminologia 92 Conclusão 95 Actividade 3 .3 –Tipo Abstracto de Dados . . . . . . . . . . . . . . . . . . . . 96 Introdução 96 Avaliação 96 Conclusão 98 Avaliação da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Avaliação 98 Resumo da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Avaliação 99 Respostas: 100 Leituras e outros Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Unidade 4. Algoritmos de Ordenação e de Pesquisa 102 Objectivos da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Termos-chave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Actividades de Aprendizagem . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Actividade 1 .1 - Algoritmo de Ordenação . . . . . . . . . . . . . . . . . . . 103 Introdução 103 Conclusão 111 Actividade 1 .2 - Algoritmos de Pesquisa . . . . . . . . . . . . . . . . . . . . .111 Introdução 111 Avaliação 111 Conclusão 114 Avaliação 114 Resumo da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Avaliação da Unidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Leituras e outros Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Avaliação 115 88 Avaliação do Curso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Avaliação 116 Respostas: 117 Avaliação 121 Referências do Curso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 99 Interação Homem Computador Descrição Geral do Curso Bem-vindo(a) a Estrutura de Dados e Algoritmos O facto de ter conhecimentos de linguagens de programação não é condição suficiente para que um profissional se sinta capacitado a desenvolver sistemas é necessário, saber usar os recursos de programação de forma adequada. O desenvolvimento de um programa, envolve diversas etapas incluindo a identificação das propriedades dos dados e suas características funcionais. Para que um programa possa atender eficientemente as funcionalidades para as quais foi desenhado, é necessário ter conhecimentos das técnicas para organizar de maneira estruturada os dados a serem manipulados. Sendo assim, para além de uma linguagem de programação, é necessário conhecer as principais técnicas de estruturação de dados. O curso em epígrafe introduz aos estudantes à estrutura de dados e algoritmos e a forma como elas podem ser criadas e utilizadas. Aborda aspectos relacionados com a organização de dados, e certas estruturas de dados serão discutidas, bem como as operações a elas aplicadas. Serão igualmente discutidas as noções de algoritmo e sua complexidade. (Falbo, 2012) Pré-requisitos • Introdução à Informática Aplicada • Principios de Programação Materiais Os materiais necessários para completar este curso incluem: 1. Adam Drozdek , Data Structures and Algorithms in Java, 2ª edição. 2. Barnett, Granville; Del Tongo, Luca. Data Structures and Algorithms: Annotated Reference with Examples 1st Edition, 2008. 3. Bjarne Stroustrup, Programming: Principles and Practice Using C++, ISBN 0321992784, Publisher: Addison Wesley, 2014 4. Concise Notes on Data Structures and Algorithms, Edições Ruby. Christopher Fox. 2012 5. Edelweiss, Nina; Galante, Renata; Estrutura de Dados, Porto Alegre: Bookman, 2009. ISBN 978-85-7780-381-1 6. Harry H Chaudhary, Practical Data Structures Using C .: Beginner s Easy Edition 2014. ISBN 1500136972; Publisher: Createspace, United States, 2014 7. Malik, D.S., Data Structures Using C++, Second Edition, , 2010 8. Nivio Ziviani, Projecto de Algoritmos com Implementação em Java e C++.. 2006. 10

Description:
Sorting, Searching, and Graph Algorithms, ISBN 8178082497; Publisher: Addison. Wesley, 2001. 11. Rocha, A. M. A, Estruturas de Dados e Algoritmos em C, 2008 FCA Editora. Informática. Coleção:Tecnologias de Informação. 12. SAMS Teach Yourself Data Structures And Algorithms In 24 hours. 1999.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.