Post on 25-Jun-2015
transcript
Resumen SSD5Resumen SSD5
22Mtl Lourdes CahuichMtl Lourdes Cahuich
Temas del resumenTemas del resumen
Algoritmos y estructura de datosAlgoritmos y estructura de datos
Tipos de datosTipos de datos
Memoria (apuntadores)Memoria (apuntadores)
Mecanismos de reutilización de códigoMecanismos de reutilización de código
Biblioteca de plantillas estándarBiblioteca de plantillas estándar
Estructuras de datosEstructuras de datos
ComplejidadComplejidad
Conceptos algoritmos y Conceptos algoritmos y estructuras de datosestructuras de datos
44Mtl Lourdes CahuichMtl Lourdes Cahuich
DefinicionesDefiniciones
Estructura de datosEstructura de datos�� Una estructura de datos es una Una estructura de datos es una
representación ordenada de informaciónrepresentación ordenada de información
AlgoritmoAlgoritmo�� Un algoritmo es una secuencia de acciones o Un algoritmo es una secuencia de acciones o
serie de pasos para resolver un problema, serie de pasos para resolver un problema, esta serie de pasos puede hacer uso de esta serie de pasos puede hacer uso de alguna estructura de datos para resolver el alguna estructura de datos para resolver el problemaproblema
Tipos de datosTipos de datos
66Mtl Lourdes CahuichMtl Lourdes Cahuich
DefiniciónDefinición
Diferentes tipos de datos permiten guardar Diferentes tipos de datos permiten guardar valores diferentes, el lenguaje puede valores diferentes, el lenguaje puede verificar y asegurar que un programador verificar y asegurar que un programador asigne solamente valores apropiados al asigne solamente valores apropiados al objeto de datosobjeto de datos
77Mtl Lourdes CahuichMtl Lourdes Cahuich
Tipos de datos comunesTipos de datos comunes
NuméricosNuméricos�� boolbool
�� charchar
�� intint
�� short longshort long
�� floatfloat
�� DoubleDouble
88Mtl Lourdes CahuichMtl Lourdes Cahuich
Tipos de datos comunesTipos de datos comunes
No numéricosNo numéricos�� Cadenas de caracteres (Cadenas de caracteres (stringstring))�� CaracteresCaracteres
ArreglosArreglos�� ArraysArrays�� VectoresVectores
FlujosFlujos�� StreamStream de informaciónde información�� StreamStream de archivosde archivos
Administración de Administración de memoriamemoriaApuntadoresApuntadores
1010Mtl Lourdes CahuichMtl Lourdes Cahuich
ApuntadoresApuntadores
Un Un apuntadorapuntador es una es una variable que almacena la variable que almacena la dirección de la memoria dirección de la memoria de otra variable.de otra variable.
La dirección de memoria La dirección de memoria es la localización es la localización específica en la memoria específica en la memoria principal donde existe principal donde existe una variable durante la una variable durante la ejecución de un ejecución de un programaprograma
1111Mtl Lourdes CahuichMtl Lourdes Cahuich
Operaciones apuntadoresOperaciones apuntadores
El operador El operador addressaddress--ofof (&) regresa la (&) regresa la dirección de la memoria de donde está dirección de la memoria de donde está almacenada la variable almacenada la variable
El operador El operador dede--referencereference (*) se usa para (*) se usa para acceder o modificar el valor de la variable acceder o modificar el valor de la variable señalada por un apuntadorseñalada por un apuntador
1212Mtl Lourdes CahuichMtl Lourdes Cahuich
Operaciones apuntadoresOperaciones apuntadores
Los programadores pueden invocar Los programadores pueden invocar funciones miembro de un objeto a través funciones miembro de un objeto a través de un apuntador. de un apuntador.
El operador de la flecha (El operador de la flecha (-->) primero de>) primero de--referencia el apuntador y en seguida referencia el apuntador y en seguida invoca la función miembro nombradainvoca la función miembro nombrada
1313Mtl Lourdes CahuichMtl Lourdes Cahuich
Paso de parámetros por referenciaPaso de parámetros por referencia
El paso por referencia se utiliza para El paso por referencia se utiliza para construir funciones que pueden modificar construir funciones que pueden modificar las variables en la función llamadalas variables en la función llamada
La sintaxis del paso de parámetros por La sintaxis del paso de parámetros por referencia se declara incluyendo el prefijo referencia se declara incluyendo el prefijo & en la declaración del parámetro a recibir& en la declaración del parámetro a recibir
Mecanismos de Mecanismos de reutilización de códigoreutilización de código
1515Mtl Lourdes CahuichMtl Lourdes Cahuich
Son cuatro los mecanismosSon cuatro los mecanismos
HerenciaHerencia
PolimorfismoPolimorfismo
PlantillasPlantillas
Manejo de excepcionesManejo de excepciones
1616Mtl Lourdes CahuichMtl Lourdes Cahuich
HerenciaHerencia
Construir clases nuevas a partir de clases Construir clases nuevas a partir de clases ya existentesya existentes
1717Mtl Lourdes CahuichMtl Lourdes Cahuich
PolimorfismoPolimorfismo
Capacidad de un objeto de tomar diversas Capacidad de un objeto de tomar diversas formasformas
1818Mtl Lourdes CahuichMtl Lourdes Cahuich
PlantillasPlantillas
Aplicar una lógica a más de un tipo de Aplicar una lógica a más de un tipo de dato (aplica a funciones y clases)dato (aplica a funciones y clases)
1919Mtl Lourdes CahuichMtl Lourdes Cahuich
Manejo de excepcionesManejo de excepciones
Acciones específicas que realizará el Acciones específicas que realizará el programa al encontrar algún evento programa al encontrar algún evento distinto a la secuencia lógica del programadistinto a la secuencia lógica del programa
Biblioteca de Plantillas Biblioteca de Plantillas EstándarEstándar
2121Mtl Lourdes CahuichMtl Lourdes Cahuich
Definición STLDefinición STL
Contiene componentes de propósito Contiene componentes de propósito general para tareas comunes de general para tareas comunes de programaciónprogramación
2222Mtl Lourdes CahuichMtl Lourdes Cahuich
Abstracciones principalesAbstracciones principales
ContenedoresContenedores�� Estructuras lineales y no lineales para Estructuras lineales y no lineales para
contener datoscontener datos
IteradoresIteradores�� Acceso a elementos de un contenedorAcceso a elementos de un contenedor
AlgoritmosAlgoritmos�� Abstracciones de acuerdo a las Abstracciones de acuerdo a las
características y comportamiento de los características y comportamiento de los contenedorescontenedores
EstructurasEstructuras
2424Mtl Lourdes CahuichMtl Lourdes Cahuich
Definición Definición
Formas especificas de almacenar Formas especificas de almacenar información, las cuales tendrán un información, las cuales tendrán un comportamiento en particularcomportamiento en particular
Tipos de estructuras:Tipos de estructuras:�� LinealesLineales
�� No linealesNo lineales
2525Mtl Lourdes CahuichMtl Lourdes Cahuich
Estructuras linealesEstructuras lineales
Listas encadenadasListas encadenadas
ColasColas
PilasPilas
TablasTablas
2626Mtl Lourdes CahuichMtl Lourdes Cahuich
Estructuras no linealesEstructuras no lineales
ÁrbolesÁrboles
GrafosGrafos
ComplejidadComplejidad
2828Mtl Lourdes CahuichMtl Lourdes Cahuich
Definición Definición
Medida del uso de algún recurso: Medida del uso de algún recurso: almacenamiento, memoria o tiempoalmacenamiento, memoria o tiempo
2929Mtl Lourdes CahuichMtl Lourdes Cahuich
Conceptos de complejidadConceptos de complejidad
Análisis asintóticoAnálisis asintótico
Tiempo lógicoTiempo lógico
Orden = Orden = BigBig OhOh
3030Mtl Lourdes CahuichMtl Lourdes Cahuich
Análisis asintóticoAnálisis asintótico
Determinación del uso de recursos, el mas Determinación del uso de recursos, el mas común es el tiempo de ejecucióncomún es el tiempo de ejecución
3131Mtl Lourdes CahuichMtl Lourdes Cahuich
Tiempo lógico de ejecuciónTiempo lógico de ejecución
Numero de pasos o ciclos de CPU para la Numero de pasos o ciclos de CPU para la ejecución de un algoritmoejecución de un algoritmo
3232Mtl Lourdes CahuichMtl Lourdes Cahuich
OrdenOrden
Determinación del termino dominante de Determinación del termino dominante de la función que representa el la función que representa el comportamiento de una función o comportamiento de una función o algoritmoalgoritmo
3333Mtl Lourdes CahuichMtl Lourdes Cahuich