Saltearse al contenido

Importancia de las Estructuras de Datos

Cuando estamos aprendiendo a programar nuestro principal enfoque es que nuestro programa funcione. Nuestra código se mide con una simple métrica: ¿nuestro código realmente funciona?

Conforme vamos avanzando en nuestra carrera y adquiriendo experiencia, el número de métricas aumenta, nos fijamos en que nuestro código sea fácil de mantener, que sea modular, legible, etc.

Sin embargo, hay otro aspecto del código de alta calidad, y ese aspecto es la eficiencia. Por ejemplo, podemos tener dos fragmentos de código que ambos realizan la misma tarea, pero uno es más rápido que el otro.

Veamos estas dos funciones, las cuales imprimen todos los números pares desde el 2 hasta el 100:

package main import "fmt" func main() { printNumbersV1() printNumbersV2() } func printNumbersV1() { number := 2 for number <= 100 { if number % 2 == 0 { fmt.Println(number) } number += 1 } } func printNumbersV2() { number := 2 for number <= 100 { fmt.Println(number) // Incrementamos el número por 2, el cual, por definición, // es el siguiente número par. number += 2 } }

¿Cuál de estas dos funciones dirías que se ejecuta más rápido?

La respuesta es la versión 2. Esto es debido a que la versión 1 termina haciendo bucles 100 veces, mientras que la versión 2 solo lo hace 50 veces.

El primer paso para escribir código eficiente es entender que son las estructuras de datos y como el uso de estas puede afectar la velocidad de nuestro código. Asi que, veamos.

Estructura de Datos

Las estructuras de datos hacen referencia a como la información es organizada. Aprenderemos como la misma información puede ser organizada de varias maneras.

Veamos el siguiente código:

package main import "fmt" func main() { x := "Hello! " y := "How are you " z := "today?" fmt.Println(x + y + z) }