terça-feira, 28 de agosto de 2012

Estruturas multi dimensionais

Faz alguns anos, eu escrevi um texto no portal Unidev sobre "matrizes com mais de duas dimensões": http://www.unidev.com.br/phpbb3/viewtopic.php?f=21&t=22287&view=previous

Neste caso, o vetor se comporta com uma "matriz de matrizes".

Imaginemos um número, então o vetor é uma seqüência de números, por exemplo

vetor = [1, 1, 1, 1, 1, 2],

assim, a matriz é um vetor de vetores (um vetor, onde cada elemento é um vetor),

 matriz = [vetor1, vetor2, vetor3, ...]

uma matriz 3D (matrizes com mais de 2 dimensões também podem ser chamadas de tensores) é um vetor de matrizes 2D,

tensor3D = [matriz1, matriz2, matriz3, ...]

uma matriz 4D é um vetor de matrizes 3D (um vetor, onde cada elemento é uma matriz 3D),

tensor4D = [tensor3D_1, tensor3D_2, tensor3D_3, ...]

e assim por diante.

Quanto à forma que isso se coporta na memória, é meio complicado de explicar, mas imagine que todos os elementos da matriz de 'n' dimensões (números) estão enfileirados, um atrás do outro, e o acesso a cada elemento é feito seguinto a lógica da dimensionalidade (número de dimensões).

Nenhum comentário: