Escolar Documentos
Profissional Documentos
Cultura Documentos
ALGORÍTMICO
Introdução
Na área de computação, a estrutura de dados refere-se a um conjunto de
valores e operações, como uma implementação concreta de algo abstrato.
Existe uma grande variedade de estruturas de dados disponíveis, desde
estruturas simples, como vetores e listas, até estruturas complexas, como
árvores balanceadas. No entanto, cada estrutura de dados existente tem
um contexto no qual se enquadra melhor. Por exemplo, para armazenar
números de pessoas a serem atendidas em um banco, pode-se usar uma
estrutura do tipo fila (FIFO, do inglês fist in first out).
Matrizes são estruturas de dados relativamente simples, capazes de
armazenar dados e associar informações, como uma tabela. No entanto,
a implementação de certas estruturas pode variar sua complexidade,
de acordo com a linguagem de programação utilizada. Por exemplo,
na linguagem C, geralmente matrizes são implementadas contendo
duas dimensões (linhas e colunas) e com apenas um tipo de dados.
Na linguagem Python, isso pode ser mais flexível. Por se tratar de uma
linguagem que oferece facilidades, é possível implementar matrizes de N
dimensões com certo controle. Além disso, por se tratar de uma lingua-
gem dinamicamente tipada, é possível implementar matrizes contendo
diferentes tipos de dados.
2 Estruturas de dados homogêneas do tipo matriz em Python
1 Matrizes
Em estruturas de dados em linguagem de programação, os dados podem ser do
tipo homogêneo ou heterogêneo. Por homogêneo, tem-se que todos os elementos
de uma estrutura precisam ser do mesmo tipo, ou seja, todos os elementos devem
assumir o tipo inteiro, por exemplo. Já no tipo heterogêneo, os dados em uma
estrutura podem assumir vários tipos, como inteiro, string, ponto flutuante
( float), entre outros (TENENBAUM; LANGSAM; AUGENSTEIN, 1995).
Na computação, existem diversos tipos de estruturas de dados, como pilha,
fila, listas, árvores, entre outras. Nesta seção, será abordada a estrutura de
dados do tipo matriz. Uma matriz nada mais é do que um vetor bidimensio-
nal, ou seja, possui duas dimensões. Em um vetor (do inglês array), pode-se
armazenar um grupo de valores, sendo cada um associado a um número, que
se refere à posição em que o valor está sendo armazenado (DEITEL; DEITEL,
2010). A Figura 1, a seguir, apresenta a estrutura de um vetor.
Valor impresso de
Iteração Valor de i vetorExemplo
0 0 Texto
1 1 Texto1
2 2 Texto2
3 3 Texto3
4 4 Texto4
5 5 Texto5
6 6 Texto6
0 0 0 matrizExemplo[0][0] Um
1 0 1 matrizExemplo[0][1] Dois
2 0 2 matrizExemplo[0][2] Três
3 0 3 matrizExemplo[0][3] Quatro
4 0 4 matrizExemplo[0][4] Cinco
5 0 5 matrizExemplo[0][5] Seis
6 0 6 matrizExemplo[0][6] Sete
7 1 0 matrizExemplo[1][0] Oito
8 1 1 matrizExemplo[1][1] Nove
9 1 2 matrizExemplo[1][2] Dez
10 1 3 matrizExemplo[1][3] Onze
Para acessar o elemento b1, é preciso acessar a posição [0] [0] [1] [0] da
matriz, como exemplificado no código da Figura 6.
2 Usabilidade de matrizes
Ao construir sistemas, é normal trabalhar com uma grande quantidade de
dados. Quando se deseja armazenar diversos dados do mesmo tipo, em vez
de criar uma variável para cada dado, costuma-se utilizar matrizes, pois isso
8 Estruturas de dados homogêneas do tipo matriz em Python
1 2 3 4 5 6
1 0 1 0 0 1 0
2 1 0 1 1 0 0
3 0 1 0 0 1 1
4 0 1 0 0 1 1
5 1 0 1 1 0 0
6 0 0 1 1 0 0
https://qrgo.page.link/WtbCx
10 Estruturas de dados homogêneas do tipo matriz em Python
DEITEL, P.; DEITEL, H. Java: how to program. 8th ed. Upper Saddle River: Pearson Pren-
tice Hall, 2010.
GOOGLE Maps. Mountain View: Google, 2005. Disponível em: https://www.google.
com.br/maps. Acesso em: 4 fev. 2020.
MANZANO, J. A. N. G. Algoritmos: lógica para desenvolvimento de programação de
computadores. 24. ed. São Paulo: Érica, 2010.
TENENBAUM, A. M.; LANGSAM, Y.; AUGENSTEIN, M. J. Estruturas de dados usando C. São
Paulo: Makron Books, 1995.
Os links para sites da Web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a
rede é extremamente dinâmica; suas páginas estão constantemente mudando de
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade
sobre qualidade, precisão ou integralidade das informações referidas em tais links.