La informática (programación) es [ ¡NO! ] un deporte de espectadores. Si no entiende algo, simplemente no hay sustituto para intentar escribir código que utilice el concepto. Intentar depurar el código a través de su comprensión de lo que “debería hacer” lo educará más que cualquier cantidad de lectura.
Tomar matrices: colocan cosas en la memoria consecutivamente. Para ver si realmente comprende lo que esto significa, escriba un programa que calcule correctamente el número de bytes desde el inicio de una matriz n-dimensional, que es un dato.
El ejemplo anterior contiene lo siguiente:
- ¿Cuáles son los 10 mejores algoritmos del siglo XX?
- ¿Podemos diseñar un algoritmo de aprendizaje automático para resolver la programación competitiva?
- ¿Cuál es el algoritmo más utilizado para la agrupación de documentos de texto?
- Rendimiento del software: ¿los algoritmos de cálculo se ejecutarán más rápido cuando se implementen en Node.js en lugar de C?
- ¿Cuántas estructuras de datos y algoritmos necesita el desarrollador web?
- La formula general
- Con la ubicación dentro de cualquier dimensión dada siendo k * i
- k es el tamaño del tipo de datos de la matriz
- Siendo yo el índice de esa dimensión
Sabemos que las dimensiones de una matriz se presentan una tras otra.
Una matriz 2D se presentaría de la siguiente manera:
- Fila-fila-fila en memoria lineal
- La posición 9,2 en un 10,10 de bytes cae en el byte 92.
- Motivo: 9 * 10 es 90; la novena fila comienza en el byte 90; y el segundo elemento en esa fila tiene 2 bytes, por lo tanto 90 + 2 = 92.
Escribe un programa para generalizar esto. Usted es elegible para crédito adicional si puede explicar por qué la mayoría de los idiomas están indexados en 0 frente a 1 indexado. Si escribió el código correctamente, debería ser obvio.