estruturas
Curso de Ciência da Computação
ESTRUTURAS
DE DADOS
Professor: Jacques Schreiber
Apostila desenvolvida pelos Professores:
Alessandra Dahmer
Jacques Schreiber
Santa Cruz do Sul, 2004.
1 INTRODUÇÃO
O objetivo desta disciplina é introduzir as principais Estruturas de Dados e seus algoritmos.
Mas antes de mais nada, deve-se responder a uma questão: Qual o papel das Estruturas de Dados no processo de desenvolvimento de software?
Em um projeto de software, existem dois aspectos que devem ser estudados: os procedimentos que devem ser previstos pelo software e sobre que dados estes procedimentos irão atuar.
Nas técnicas estruturadas de projeto de software era dada ênfase aos procedimentos, com a identificação dos aspectos funcionais na primeira etapa de desenvolvimento do software. Com as técnicas para especificação dos dados a nível conceitual, a importância dos procedimentos e dados tornou-se equilibrada. Atualmente, já existem técnicas de programação com ênfase nos dados (programação baseada em objetos).
Mas, independentemente das técnicas de análise e programação utilizadas, programas precisam manipular dados e é extremamente importante o conhecimento de conceitos e detalhes da implementação das diversas estruturas de dados que manipulam estes dados.
Neste texto, inicialmente, alguns conceitos básicos são apresentados. À seguir, são descritas as principais Estruturas de Dados, com seus respectivos algoritmos.
2 CONCEITOS BÁSICOS
Neste capítulo, serão apresentados conceitos essenciais para o desenvolvimento desta disciplina: Tipos de Dados, Tipos Abstratos de Dados e Estruturas de Dados.
2.1 TIPOS DE DADOS
Em computação precisamos identificar os tipos de dados que o computador, a linguagem de programação ou mesmo um algoritmo são capazes de entender. De uma forma geral, os Tipos de Dados são diferenciados pelos valores que podem assumir