Estructuras de datos,
vectores y matrices
Estructuras de datos
Una
estructura de datos
es una forma de
organizar
conjuntos de
datos
con el objetivo de
facilitar
su manipulación.
Refrescando algunos
conceptos
:
●
Datos:
en Python asociados a un
tipo
...
●
Básicos: números, letras, valores de verdad.
●Compuestos: secuencias, diccionarios.
●
Conjuntos de datos:
varios
datos asociados
o agrupados (o
estructurados) según
algún
criterio.
●
Manipulación:
“…Un programador debe utilizar
expresiones,
funciones y métodos de forma combinada
para obtener
Estructuras de datos
En otras palabras...
Las estructuras de datos son
una manera de
representación
creada a partir de los datos,
ubicándose un nivel por encima
(abstracción de datos)
.
Nos permite representar “cosas”
más complejas para
resolver
otro tipo de problemas de forma
más
sencilla
o al menos sin
preocuparnos por los detalles
internos de representación.
Estructuras de Datos
Ejemplos
listas
, colas, pilas, árboles, matrices, arreglos, etc, etc...
Pueden ser
●
Propias del
lenguaje
de programación utilizado.
●
Definidas e implementadas por el
programador
a partir de otras
estructuras o datos disponibles.
En concreto
Una estructura de datos para representar edades de personas,
utilizando Python podría ser:
Vectores
Representan colecciones de
n
componentes
(también llamados elementos)
●
Son accedidos por medio de
índices
.
●Es un
arreglo de números
Vectores
Las
implementaciones
varían según lenguaje de
programación, en términos generales:
●
Son
homogéneos:
componentes son todos del
mismo tipo.
●
Su tamaño es
estático
,
se definen en tiempo de
compilación.
Contrario a lo que sucede con las
listas (como estructura de datos) en las que su
tamaño es dinámico.
●
En
Python
se representan por medio de
listas
o
utilizando el módulo
array
Vectores
Algunas propiedades/operaciones
Igualdad de vectores
Dos vectores son iguales si tienen los mismos elementos
en la misma posición.
Vector nulo
Un vector nulo es aquel en que todos sus elementos son
igual a cero.
Vectores
Operaciones con Vectores
Suma o resta de vectores
●
Se suman o restan los elementos en la misma posición y el
resultado es un nuevo vector del mismo tamaño.
V = [ v0, v1, v2, ..., vn-1 ]
W = [ w0, w1, w2, ..., wn-1 ]
Vectores
Operaciones con Vectores
Producto escalar
●
Multiplicar todos los elementos de 1 vector por 1 número
(escalar)
e = escalar
V = [ v0, v1, v2, ..., vn-1 ]
Vectores
Operaciones con Vectores
Producto de Vectores
●
La multiplicación de vectores
produce un único número
como resultado
V = [ v0, v1, v2, ..., vn-1 ]
W = [ w0, w1, w2, ..., wn-1 ]
V * W = Σ vi * wi (desde i =0, hasta n - 1)
Ejercicios
Escribir de utilizando iteración las siguientes funciones con
vectores:
Gätgens, hagalo dos veces!
Documente
el código correctamente.
es_vector
resta
vector_nulo
producto_escalar
vectores_iguales
producto_vectores
Referencias y Lecturas Complementarias
Material suministrado por el profesor Jaime Gutiérrez, Instituto Tecnológico de Costa
Rica. I semestre 2011.
●
Material suministrado por el profesor Jeff Schmidt, Instituto Tecnológico de Costa
Rica. I semestre 2011.
●
J. Helo Guzmán, Introducción a la programación con Scheme, Segunda ed. Cartago:
Editorial tecnológica, 2005.
●
J. Solano, Introducción a la programación en Python, Primera ed. Cartago: Editorial
tecnológica, 2011.
Las presentaciones para el curso IC-1800:
"Introducción a la Programación" por Ing. En
Computación Alajuela se distribuyen bajo una
Licencia Creative Commons Atribución-Compartir
Estructuras de datos,
vectores y matrices
Introducción a la programación
Estructuras de datos
Una estructura de datos es una forma de organizar conjuntos de
datos con el objetivo de facilitar su manipulación.
Refrescando algunos conceptos:
● Datos: en Python asociados a un tipo...
● Básicos: números, letras, valores de verdad. ● Compuestos: secuencias, diccionarios.
● Conjuntos de datos: varios datos asociados o agrupados (o estructurados) según algún criterio.
● Manipulación: “…Un programador debe utilizar expresiones,
funciones y métodos de forma combinada para obtener soluciones a problemas...”
Estructuras de datos
En otras palabras...
Las estructuras de datos son una manera de representación creada a partir de los datos, ubicándose un nivel por encima
(abstracción de datos).
Nos permite representar “cosas” más complejas para resolver
otro tipo de problemas de forma más sencilla o al menos sin preocuparnos por los detalles internos de representación.
Lego CC-BY-SA-2.0 davestone @ Flickr Lego tower bridge CC-BY-NC-SA-2.0 ukslim @ Flickr
Estructuras de Datos
Ejemplos
listas, colas, pilas, árboles, matrices, arreglos, etc, etc...
Pueden ser
● Propias del lenguaje de programación utilizado.
● Definidas e implementadas por el programador a partir de otras
estructuras o datos disponibles.
En concreto
Una estructura de datos para representar edades de personas, utilizando Python podría ser:
>>> edades = [23, 22, 20, 18] # ¿Una lista?
Vectores
Representan colecciones de n componentes (también llamados elementos)
● Son accedidos por medio de índices. ● Es un arreglo de números
Vectores
Las implementaciones varían según lenguaje de programación, en términos generales:
● Son homogéneos: componentes son todos del
mismo tipo.
● Su tamaño es estático, se definen en tiempo de
compilación. Contrario a lo que sucede con las listas (como estructura de datos) en las que su tamaño es dinámico.
● En Python se representan por medio de listas o
utilizando el módulo array
Vectores
Algunas propiedades/operaciones
Igualdad de vectores
Dos vectores son iguales si tienen los mismos elementos en la misma posición.
Vector nulo
Un vector nulo es aquel en que todos sus elementos son igual a cero.
Vectores
Operaciones con Vectores
Suma o resta de vectores
● Se suman o restan los elementos en la misma posición y el
resultado es un nuevo vector del mismo tamaño. V = [ v0, v1, v2, ..., vn-1 ]
W = [ w0, w1, w2, ..., wn-1 ]
V + W = [v0 + w0, v1 + w1, v2 + w2, ..., vn-1 + wn-1 ]
Suma o resta de matrices:
se opera sobre las
mismas posiciones en ambas matrices y se crea una
nueva con el mismo tamaño
Producto escalar:
1 vector por un número,
multiplicada cada elementos del vector por un
número.
Vectores
Operaciones con Vectores
Producto escalar
● Multiplicar todos los elementos de 1 vector por 1 número
(escalar) e = escalar
V = [ v0, v1, v2, ..., vn-1 ]
V * e = [ v0 * e, v1 * e, v2 * e ..., vn-1 * e]
Suma o resta de matrices:
se opera sobre las
mismas posiciones en ambas matrices y se crea una
nueva con el mismo tamaño
Producto escalar:
1 vector por un número,
multiplicada cada elementos del vector por un
número.
Vectores
Operaciones con Vectores
Producto de Vectores● La multiplicación de vectores produce un único número
como resultado
V = [ v0, v1, v2, ..., vn-1 ] W = [ w0, w1, w2, ..., wn-1 ]
V * W = Σ vi * wi (desde i =0, hasta n - 1)
V * W = v0 * w0 + v1 * w1 + v2 * w2 + ... + vn-1 * wn-1
Producto de vectores:
genera 1 número y se
puede explicar como la suma de todas las
multiplicaciones de los elementos en la misma
posición de los vectores.
Ejercicios
Escribir de utilizando iteración las siguientes funciones con vectores:
Gätgens, hagalo dos veces!
Documente el código correctamente.
es_vector resta
vector_nulo producto_escalar
vectores_iguales producto_vectores suma
Referencias y Lecturas Complementarias
Material suministrado por el profesor Jaime Gutiérrez, Instituto Tecnológico de Costa Rica. I semestre 2011.
● Material suministrado por el profesor Jeff Schmidt, Instituto Tecnológico de Costa Rica. I semestre 2011.
● J. Helo Guzmán, Introducción a la programación con Scheme, Segunda ed. Cartago: Editorial tecnológica, 2005.
● J. Solano, Introducción a la programación en Python, Primera ed. Cartago: Editorial tecnológica, 2011.
13
Las presentaciones para el curso IC-1800:
"Introducción a la Programación" por Ing. En
Computación Alajuela se distribuyen bajo una
Licencia Creative Commons Atribución-Compartir
Igual 3.0 Costa Rica.
http://creativecommons.org/licenses/by-sa/3.0/cr/http://creativecommons.org/licenses/by-sa/3.0/cr/