Para qué te prepara este curso subvencionado Curso Gratuito Especialista en Abstracción y Estructura de Datos en C++:
Este Curso en Abstracción y Estructura de datos en C++ te prepara para que el alumno sea capaz de utilizar con profesionalidad en lenguaje C++, conocer la metodología de la programación y las estructura de datos.
A quién va dirigido:
El presente curso en Abstracción y Estructura de datos en C++ está dirigido a todos aquellos titulados universitarios y/o profesionales del sector de la informática que estén interesados en obtener unos conocimientos profesionales en la programación y en el lenguaje C++.
Objetivos de este curso subvencionado Curso Gratuito Especialista en Abstracción y Estructura de Datos en C++:
- Realizar un el cálculo y análisis de la eficiencia. - Conocer los tipos de datos abstractos. - Conocer las clases en C++ y el método más adecuado para desarrollar los tipos de datos abstractos en este lenguaje. - Aprender la sobrecarga de operadores - Aprender las estructuras de datos lineales Pila, Cola y Lista. - Realizar estructuras de datos no lineales. - Aprender las tablas Hash.
Salidas Laborales:
Programación, Informática.
Resumen:
Este curso en Abstracción y Estructura de datos en C++ le ofrece una formación especializada en la materia. El curso de Abstracción y Estructura de datos en C++ te ofrece los conceptos fundamentales de programación, conocer las estructuras de datos más importantes, y enseña a profundizar en los paradigmas de la programación más avanzados. No sólo se pretende enseñar el lenguaje C++ sino también los conceptos fundamentales que permiten que el alumno vaya sea un programador profesional.
Titulación:
Doble Titulación Expedida por EUROINNOVA BUSINESS SCHOOL y Avalada por la Escuela Superior de Cualificaciones Profesionales
Metodología:
Entre el material entregado en este curso se adjunta un documento llamado Guía del Alumno dónde aparece un horario de tutorías telefónicas y una dirección de e-mail dónde podrá enviar sus consultas, dudas y ejercicios. La metodología a seguir es ir avanzando a lo largo del itinerario de aprendizaje online, que cuenta con una serie de temas y ejercicios. Para su evaluación, el alumno/a deberá completar todos los ejercicios propuestos en el curso. La titulación será remitida al alumno/a por correo una vez se haya comprobado que ha completado el itinerario de aprendizaje satisfactoriamente.
Temario:
UNIDAD DIDÁCTICA 1. ANÁLISIS DE LA EFICIENCIA
- Introducción
- Eficiencia de algoritmos
- Análisis de algoritmos
- Ejemplos
- Tamaño del problema
- Algoritmos vs implementaciones
- Familias de órdenes de eficiencia
- Notación asintótica
- Eficiencia en tiempo y espacio
- Elección del mejor algoritmo
- Operación elemental
- Caso peor, caso promedio y análisis amortizado
- Reglas para el cálculo de la eficiencia
- Algoritmo de multiplicación de matrices
- Algoritmo de búsqueda binaria
- Algoritmo de ordenación por selección
UNIDAD DIDÁCTICA 2.TIPOS DE DATOS ABSTRACTOS EN PROGRAMACIÓN
- Introducción
- Abstracción funcional
- Tipos de datos abstractos
- Ejemplos previos
- Problemas
- Un ejemplo: Motivación
- Un ejemplo. El T.D.A. Matriz
- Selección de operaciones
- Especificación
- Implementación
- Especificación formal de T.D.A
- Un ejemplo: El T.D.A. Fecha
- Especificación del T.D.A. Fecha
- Implementación del T.D.A. Fecha
- Un ejemplo: El T.D.A. Polinomio
- Especificación del T.D.A. polinomio
- Implementación del T.D.A. polinomio
UNIDAD DIDÁCTICA 3. TIPOS DE DATOS ABSTRACTOS EN C++: CLASES
- Introducción
- Clases
- Ejemplos de T.D.A.
- Problemas
- T.D.A. como tipos predefinidos
- Integración de datos y operaciones
- Estructuras y clases
- Control de acceso. La palabra clave class
- Constructores y destructores
- Copiando objetos
- Clase ?mínima? y funciones miembro predefinidas por el compilador
- Funciones miembro inline
- Llamadas a constructores y destructores
- Funciones y clases amigas
- Constantes y miembros static
- Otras declaraciones con alcance de clase
- La clase Vector Dinámico
- La clase Vector disperso
- La clase Conjunto
UNIDAD DIDÁCTICA 4. Sobrecarga de operadores
- Introducción
- Mecanismo de sobrecarga de operadores
- Sobrecargando operadores
- La clase Complejo
- Problemas
- Concepto de sobrecarga de operadores
- Sobrecarga como función externa
- Sobrecarga como función miembro
- Operadores como funciones miembro o externas
- Operadores de asignación
- Operadores relacionales
- Operador de indexación
- Operadores de incremento y decremento
- Operadores de E/S
- Operador de llamada a función
- Definición
- Operaciones
- Ejemplo de uso
- Implementación
- Algunos aspectos a destacar
UNIDAD DIDÁCTICA 5. ESTRUCTURAS DE DATOS LINEALES: PILAS, COLAS, Y LISTAS
- Introducción
- La clase Pila
- La clase Cola
- La clase Lista
- La clase Cola con prioridad
- Problemas
- Implementaciones de pilas
- Implementaciones
- Implementaciones
- Implementación basada en vectores
- Implementación basada en celdas enlazadas
- Implementación basada en celdas enlazadas con cabecera
- Implementación basada en celdas doblemente enlazadas con cabecera y circulares
- Implementaciones
UNIDAD DIDÁCTICA 6. GENERALIZACIÓN: PLANTILLA
- Introducción
- Funciones patrón en C++
- Clases patrón en C++
- Plantillas y compilación separada
- Compatibilidad del tipo base en la instanciación
- Múltiples tipos base y anidamiento
- Ejemplo: Clase Pila basada en celdas enlazadas
- Otras capacidades de las plantillas
- Problemas
- Ejemplo: ordenar un vector
- Especificación explícita del tipo T
- Palabra reservada typename
- Definición de los métodos de la clase
- Inclusión de las definiciones
- Instanciación explícita
- Compilación separada
- Especialización de plantillas
- Valores como parámetros de plantilla
- Parámetros de plantilla por defecto
UNIDAD DIDÁCTICA 7. ESTRUCTURAS DE DATOS NO LINEALES: ÁRBOLES
- Introducción y terminología básica
- Representación de árboles generales
- Árboles binarios
- Representación de árboles binarios
- Entrada/Salida en árboles binarios. Serialización
- Árboles binarios de búsqueda
- Árboles binarios de búsqueda equilibrados
- Colas con prioridad (Heaps)
- Problemas
- Ejemplo: árboles de expresión
- Recorridos
- Ejemplos
- Recorridos
- Ejemplos
- Búsqueda, inserción y borrado en un ABB
- Ejemplo: Conjunto
- Árboles AVL
- Árboles parcialmente ordenados y completos
- Ejemplo: Heapsort
- Ejemplo: T.D.A. Cola con prioridad
- Otras operaciones sobre heaps
UNIDAD DIDÁCTICA 8. ABSTRACCIÓN POR ITERACIÓN: ITERADORES
- Introducción
- TDA en C++ e iteración
- El TDA Conjunto
- El TDA Diccionario
- Abstracción en la representación
- Problemas
- Contenedores
- Iteradores
- Vector dinámico e iteradores
- Contenedores con iteradores de sólo lectura
- Iteradores y programación genérica
- Contenedores plantilla y typename
- Implementación
- Implementación de Conjunto
- Implementación de Diccionario
- Seleccionando el orden
UNIDAD DIDÁCTICA 9. ESTRUCTURAS DE DATOS NO LINEALES: TABLAS HASH
- Introducción
- Funciones hash
- Resolución de Colisiones
- Eficiencia de las tablas hash
- El TDA ConjuntoDesordenado
- Problemas
- Diseño de funciones hash
- Hashing de un entero
- Hashing de una cadena
- Hashing cerrado. Direccionamiento abierto
- Hashing abierto. Encadenamiento separado
- Encadenamiento mezclado
- Factor de carga
- Comparación de métodos
- Redimensionamiento y rehashing
- Tablas hash vs árboles de búsqueda
- La interfaz de ConjuntoDesordenado
- Implementación de ConjuntoDesordenado
UNIDAD DIDÁCTICA 10. GESTIÓN DE E/S. FICHEROS
- Flujos de E/S
- Operaciones básicas con flujos
- Flujos asociados a ficheros
- Flujos asociados a string
- E/S de objetos de una clase
- Problemas
- EDITORIAL ACADÉMICA Y TÉCNICA: Índice de libro Abstracción y Estructura de datos en C++. Autores: A. Garrido y J. Valdivia. Publicado por Delta Publicaciones.
- Flujos y Búfers
- Flujos globales predefinidos
- Tamaño finito de los flujos
- Estado de los flujos
- E/S carácter a carácter
- E/S de cadenas de caracteres
- E/S de caracteres sin formato
- Clases ifstream y ofstream
- Apertura y cierre de archivos
- Modos de apertura de un archivo
- Clase fstream
- Ficheros de acceso aleatorio
- E/S de clases con campos ocultos