Sí, las matrices son de tamaño constante. El por qué se debe a lo que realmente significa una matriz.
Cuando especifica una matriz, en realidad le está diciendo a la máquina que asigne bytes consecutivos de memoria, suficiente para almacenar N elementos como el tamaño de la matriz.
Por ejemplo:
- ¿Es posible realizar operaciones de alta frecuencia con la plataforma Zerodha?
- ¿Por qué necesitamos el algoritmo de derivación de porter en Python?
- ¿Qué enunciado describe mejor por qué la notación Big-O es una forma muy útil de analizar la complejidad del algoritmo?
- ¿Cuál es el mejor algoritmo para encontrar la ruta más corta en un gráfico orientado, donde algunos bordes están bloqueados y las teclas están en algún lugar de los nodos?
- ¿Es útil el algoritmo de aprendizaje profundo en finanzas?
Con una matriz de 10 enteros, le indica a la máquina que asigne una porción consecutiva de bytes de memoria del montón, 10 veces el tamaño de un entero (4 bytes) , por lo que se reservan 40 bytes de memoria.
El puntero a la dirección de memoria donde comienza esa matriz se almacena (digamos la dirección 0x0000000). Cuando usa algo como matriz [1], en realidad le está diciendo a la máquina que acceda a los bytes almacenados en la ubicación de la memoria donde comienza la memoria de la matriz, con un desplazamiento de 1 (el uno es porque estamos buscando la matriz [1] ]).
Entonces array [1] sería algo así como:
0x0000000 dirección de memoria más 1, multiplicado por 4 bytes. Esto le dice a leer los 4 bytes (1 int = 4 bytes) a partir de 0x0000004.
Para que esta aritmética funcione realmente, necesita que todos los bytes sean consecutivos, sus elementos de matriz no se pueden almacenar aleatoriamente en la memoria.
Es por eso que debe especificar un tamaño de matriz en el momento en que lo instale con una operación ‘Nueva’. La máquina realmente necesita saber qué tan grande de un trozo de memoria consecutiva se asignará a la matriz.