SlideShare una empresa de Scribd logo
1 de 26
IFE 115: INFORMÁTICA BÁSICA
0319199200025 Ariel Amilcar Medina
PTEG-I-12-Ariel Amilcar Medina-VISITA 2-EXPO Abstracciones de datos
Lic. Marcio Rodas
Capitulo
8
8.1 Estructuras de datos básicas.
8.2 Conceptos relacionados.
8.3 Implementación de estructuras de datos.
8.4 Un pequeño caso de estudio
8.5 Tipos de datos personalizados
8.6 Clases y objetos
8.7 Punteros en el lenguaje maquina.
Capitulo
8
Introducción
En este capitulo vamos a explorar técnicas para la construcción y manipulación
de estructuras de datos distintas de las primitivas de un lenguaje, un análisis que
nos llevara desde las estructuras de datos tradicionales hasta el paradigma
orientado a objetos. Un tema subyacente a lo largo de toda esta progresión es la
de construcción de herramientas abstractas.
Capitulo
8
8.1 Estructura de datos básicas
1.- Arrays
Es un bloque de datos “rectangular” cuyas entradas son todas del mismo tipo. En
particular, un array bidimensional esta compuesto por filas y columnas en las que las
distintas posiciones se identifican mediante una pareja de índices, el primer índice
identifica la fila asociada con la posición, mientras que el segundo índice identifica la
columna.
A diferencia de un array, recuerde que un tipo agregado o estructura es un conjunto
de datos que pueden ser de diferentes tipos. Los elementos del conjunto suele
denominar componentes o campos.
Capitulo
8
2.- Listas, pilas y colas
-La lista es un conjunto cuyas entradas están ordenadas de manera secuencial. El
inicio de una lista se denomina principio de lista, el otro extremo final.
Capitulo
8
-Una pila es una lista en la que las entradas se insertan y se eliminan únicamente
al principio de la lista. Terminología coloquial el principio se denomina cima, el
final fondo o base. Cuando se inserta una nueva entrada se dice que se apila
(pushing), si se elimina se desapila (popping). La ultima entrada colocada en la
pila, será siempre la primera en ser extraída, se le conoce como estructura LIFO
(Last-IN, First-Out; ultimo en entrar, primero en salir). Suelen utilizarse pilas para
implementar mecanismos para deshacer actividades, se conocen como vuelta
atrás (backtracking).
Capitulo
8
2.- Listas, pilas y colas
Capitulo
8
• -Una cola es una lista en la que las entradas se extraen
únicamente por el principio y se insertan únicamente por el
final.
2.- Listas, pilas y colas
Capitulo
8
Un árbol es un conjunto cuyas entradas tienen una organización jerárquica similar a la del
organigrama de cualquier empresa. Cada posición de un árbol se denomina nodo. El nodo
situado en la parte superior es el nodo raíz. Los nodos situados en el otro extremo se
denominan nodos terminales (en ocasiones nodos hoja). Se le denomina profundidad del
árbol al numero de nodos existente en la ruta mas larga desde la raíz a una de las hojas.
Llamaremos hijos a sus descendientes inmediatos y padre a su antecesor. Nodos con un
mismo padre diremos que son hermanos. Un árbol en el que cada padre no tenga mas de
dos se denomina árbol binario.
Los nodos situados por debajo de el tiene también estructura de un árbol las llamaremos
subárbol. Cada subárbol se dice que es una rama del padre.
3.- Árboles
Capitulo
8
8.2 Conceptos relacionados
Otra vez la abstracción.
La memoria principal de una computadora no esta organizada como
arrays, lista, pilas colas y arboles, sino como una secuencia de celdas de
memoria direccionales. Por tanto, todos los demás tipos de estructuras
deberán se simulados. Matrices, listas, pilas, colas y arboles son
organizaciones abstractas de los datos que se crean para ocultar a ojos
de los usuarios los datos los detalles del almacenamiento real de esos
datos y para que estos usuarios puedan acceder a la información como
si esta estuviera almacenada de una forma mas conveniente.
Capitulo
8
Estructuras de estáticas y dinámicas.
Una diferencia importante a la hora de construir estructuras de
abstractas es si la estructura que se esta simulando es estática o
dinámica; es decir, si la forma o el tamaño de la estructura varia a lo
largo del tiempo.
Como regla general, las estructuras de datos estáticas se manipulan mas
fácilmente que las dinámicas. Si una estructura es estática, simplemente
necesitamos proporcionar un medio para acceder a los distintos
elementos de datos de la estructura, y quizá también un medio de
modificar los valores almacenados en ciertas ubicaciones.
Capitulo
8
Punteros
Un puntero es un área de almacenamiento que contiene una
de esas direcciones codificadas. En el caso de las estructuras
de datos, se utilizan punteros para anotar la ubicación en la
que están almacenados los campos de datos. Al contador de
programa se le denomina también en ocasiones puntero de
instrucciones.
Capitulo
8
8.3 Implementación de estructuras de datos.
Maneras en las que pueden almacenarse en la memoria principal de una
computadora una estructura de datos de las que hemos hablado en la sección
anterior.
*Almacenamiento de arrays: -Matrices
-Estructuras
*Almacenamiento de lista.
*Almacenamiento de pilas y colas.
*Almacenamiento de arboles binarios.
*Manipulación de Estructuras de datos.
Capitulo
8Almacenamiento de arrays
- Matrices
Estructuras
Capitulo
8
Almacenamiento de listas
Capitulo
8
Almacenamiento de pilas y colas.
Capitulo
8
Almacenamiento de arboles binarios.
Capitulo
8
Capitulo
8Almacenamiento de arboles binarios.
Manipulación de estructuras de datos.
Capitulo
8
8.4 Un pequeño caso de estudio.
Vamos a considerar la tarea de almacenar una lista de nombres en orden alfabético. Vamos a
asumir que las operaciones que hay que realizar con esta lista son las siguientes:
-Buscar si existe una cierta entrada.
-Imprimir la lista en orden alfabético e
-Insertar una nueva entrada.
Para efectuar búsquedas en la lista teniéndola almacenada de esta manera comparamos el
valor buscado con el nodo raíz. Si los dos son iguales, la búsqueda habrá tenido éxito. Si son
distintitos, nos moveremos al hijo izquierdo o al hijo derecho de la raíz dependiendo de si el
valor buscado es menor o mayor que la raíz, respectivamente.
Capitulo
8
La Figura 8.21 muestra como podría expresarse este proceso de
búsqueda en el caso de una estructura de árbol enlazado.
Capitulo
8
Capitulo
8
Este esbozo incluye las tareas de
imprimir el subárbol izquierdo y el
subárbol derecho en orden
alfabético, siendo ambas tareas
básicamente versiones reducidas de
la tarea origina.
Capitulo
8
Podemos concluir que un paquete
software compuesto por una
estructura de árbol binario enlazado y
por nuestros procedimientos para
buscar, imprimir e insertar
proporciona un paquete completo
que una hipotética aplicación podría
utilizar como herramienta abstracta.
8.5 Tipos de datos personalizados.
Vamos a ver de que manera pueden los programadores definir sus propios tipos de datos,
para ajustarse, mejor a las necesidades de una aplicación concreta.
Tipo de datos definidos por el usuario.
Expresar un algoritmo suele ser mas fácil si hay disponibles tipos de datos distintos que los
proporcionados como primitivos en los lenguajes de programación. Por esta razón, muchos
lenguajes de programación modernos permiten a los programadores definir tipos
adicionales, utilizando los tipos primitivos como componentes básicos.
Para implementa esta idea, podríamos utilizar una instrucción de pseudo-código de la
forma:
Capitulo
8
Tipos abstractos de datos
Aunque el concepto de tipo de datos definido por el usuario es muy útil, no termina de
resolver completamente la necesidad de creación de nuevos tipos de datos. Un tipo de
datos completo esta compuesto por dos partes:
1) Un sistema de almacenamiento predeterminado (como un sistema en complemento a
dos en el caso del tipo entero y un sistema de punto flotante en el caso del tipo real)
2) Una colección de operaciones predefinidas (como la suma y la resta)
Si un programador declara una variable como de tipo primitivo, puede comenzar a aplicar
de inmediato operaciones primitivas a esa variable, sin necesidad de efectuar definiciones
adicionales.
Los tipos de datos definidos por el usuario que incluyen también definiciones de
operaciones se denominan tipos abstractos de datos.
Capitulo
8
Bibliografía
• Introducción a la Computación 11. edición J. Glenn Brookshear.
Capitulo
8

Más contenido relacionado

La actualidad más candente

Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no linealeslos4estatidinamicos
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)edopaz
 
Estructuras lineales unidad 3
Estructuras lineales unidad 3Estructuras lineales unidad 3
Estructuras lineales unidad 3eliezerbs
 
Unidad 3
Unidad 3Unidad 3
Unidad 3Isabel
 
Estructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldEstructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldMiguelDiaz369
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractoserwin_alexander
 
Estructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelEstructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelMiguelDiaz369
 
3.0 estructuras lineales
3.0 estructuras lineales3.0 estructuras lineales
3.0 estructuras linealeserwin_alexander
 
Diapositivas base de datos
Diapositivas base de datosDiapositivas base de datos
Diapositivas base de datoskata17
 
Estructuras lineales y no lineales
Estructuras lineales y no linealesEstructuras lineales y no lineales
Estructuras lineales y no linealesAnselmo Emilio
 
ESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESEvans Balcazar
 
Estructuras de datos
Estructuras de datos Estructuras de datos
Estructuras de datos Roimer Guape
 

La actualidad más candente (20)

Estructura de datos lineales y no lineales
Estructura de datos lineales y no linealesEstructura de datos lineales y no lineales
Estructura de datos lineales y no lineales
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)
 
Estructuras lineales unidad 3
Estructuras lineales unidad 3Estructuras lineales unidad 3
Estructuras lineales unidad 3
 
Arreglos de registros
Arreglos de registros Arreglos de registros
Arreglos de registros
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Estruc datosyso
Estruc datosysoEstruc datosyso
Estruc datosyso
 
Estructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldEstructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueld
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractos
 
Estructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelEstructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguel
 
3.0 estructuras lineales
3.0 estructuras lineales3.0 estructuras lineales
3.0 estructuras lineales
 
Diapositivas base de datos
Diapositivas base de datosDiapositivas base de datos
Diapositivas base de datos
 
Estructuras lineales y no lineales
Estructuras lineales y no linealesEstructuras lineales y no lineales
Estructuras lineales y no lineales
 
Cap. 8 abstracciones de datos
Cap. 8 abstracciones de datosCap. 8 abstracciones de datos
Cap. 8 abstracciones de datos
 
ESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALESESTRUCTURAS DE DATOS FUNDAMENTALES
ESTRUCTURAS DE DATOS FUNDAMENTALES
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Bases de datos de informatica
Bases de datos de informaticaBases de datos de informatica
Bases de datos de informatica
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Estructuras de datos
Estructuras de datos Estructuras de datos
Estructuras de datos
 

Destacado

Destacado (16)

Kata pengantar a
Kata pengantar aKata pengantar a
Kata pengantar a
 
Algoritmos
Algoritmos Algoritmos
Algoritmos
 
Procrastination
ProcrastinationProcrastination
Procrastination
 
"Мир - це не все, але все без миру ніщо"
"Мир - це не все, але все без миру ніщо""Мир - це не все, але все без миру ніщо"
"Мир - це не все, але все без миру ніщо"
 
Redes internet
Redes internetRedes internet
Redes internet
 
Make my logo bigger
Make my logo biggerMake my logo bigger
Make my logo bigger
 
2015_portfolio-ENG-2
2015_portfolio-ENG-22015_portfolio-ENG-2
2015_portfolio-ENG-2
 
Assembly 01
Assembly 01Assembly 01
Assembly 01
 
Trafikoa 2014 eu_ud lh3-4_haurren hiria_formaccio-ingurugela
Trafikoa 2014 eu_ud lh3-4_haurren hiria_formaccio-ingurugelaTrafikoa 2014 eu_ud lh3-4_haurren hiria_formaccio-ingurugela
Trafikoa 2014 eu_ud lh3-4_haurren hiria_formaccio-ingurugela
 
Architects
ArchitectsArchitects
Architects
 
Pteg i-grupo 5- cap -7 tema ingienieria de software
Pteg i-grupo 5- cap -7 tema ingienieria de softwarePteg i-grupo 5- cap -7 tema ingienieria de software
Pteg i-grupo 5- cap -7 tema ingienieria de software
 
Presentation paulo
Presentation pauloPresentation paulo
Presentation paulo
 
IBM B2B tools
IBM B2B tools IBM B2B tools
IBM B2B tools
 
Robert S. Langer, "Looking Forward"
Robert S. Langer, "Looking Forward"Robert S. Langer, "Looking Forward"
Robert S. Langer, "Looking Forward"
 
AccessBank Investor presentation 2013
AccessBank Investor presentation 2013AccessBank Investor presentation 2013
AccessBank Investor presentation 2013
 
Katakana word search
Katakana word searchKatakana word search
Katakana word search
 

Similar a Abstracciones de datos

Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorJomicast
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasMaxDLeon
 
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptxPresentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptxCarlosEspaa16
 
Modelos de base de datos
Modelos de base de datosModelos de base de datos
Modelos de base de datosIrene Lorza
 
equipo 3 clasificación de estructura(2.pptx
equipo 3  clasificación de estructura(2.pptxequipo 3  clasificación de estructura(2.pptx
equipo 3 clasificación de estructura(2.pptxPedroSilva456418
 
Campos daniel presentacion de base de datos
Campos daniel presentacion de base de datosCampos daniel presentacion de base de datos
Campos daniel presentacion de base de datosDaniel Campos
 
Historia Base de datos
Historia Base de datosHistoria Base de datos
Historia Base de datosingrid vanegas
 
GUÍA 1_Administración de Base de Datos.docx
GUÍA 1_Administración de Base de Datos.docxGUÍA 1_Administración de Base de Datos.docx
GUÍA 1_Administración de Base de Datos.docxleotri2
 
Instituto distrital evardo turizo palencia
Instituto distrital evardo turizo palenciaInstituto distrital evardo turizo palencia
Instituto distrital evardo turizo palenciaLeidyOsorioM
 

Similar a Abstracciones de datos (20)

Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Estructuras de datos i print
Estructuras de datos i printEstructuras de datos i print
Estructuras de datos i print
 
Sesion01EDx.pptx
Sesion01EDx.pptxSesion01EDx.pptx
Sesion01EDx.pptx
 
Acceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidorAcceso a datos en aplicaciones web del entorno servidor
Acceso a datos en aplicaciones web del entorno servidor
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Prog i estructura_datos_guia_3
Prog i estructura_datos_guia_3Prog i estructura_datos_guia_3
Prog i estructura_datos_guia_3
 
Base de datos
Base de datosBase de datos
Base de datos
 
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptxPresentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
 
Modelos de base de datos
Modelos de base de datosModelos de base de datos
Modelos de base de datos
 
Conceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de DatosConceptos Fundamentales de Base de Datos
Conceptos Fundamentales de Base de Datos
 
equipo 3 clasificación de estructura(2.pptx
equipo 3  clasificación de estructura(2.pptxequipo 3  clasificación de estructura(2.pptx
equipo 3 clasificación de estructura(2.pptx
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
Campos daniel presentacion de base de datos
Campos daniel presentacion de base de datosCampos daniel presentacion de base de datos
Campos daniel presentacion de base de datos
 
Historia Base de datos
Historia Base de datosHistoria Base de datos
Historia Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
GUÍA 1_Administración de Base de Datos.docx
GUÍA 1_Administración de Base de Datos.docxGUÍA 1_Administración de Base de Datos.docx
GUÍA 1_Administración de Base de Datos.docx
 
Las bases de datos
Las bases de datosLas bases de datos
Las bases de datos
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Instituto distrital evardo turizo palencia
Instituto distrital evardo turizo palenciaInstituto distrital evardo turizo palencia
Instituto distrital evardo turizo palencia
 

Más de Ariel Medina

Teoria de la computacion
Teoria de la computacionTeoria de la computacion
Teoria de la computacionAriel Medina
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificialAriel Medina
 
Diseño por computadora
Diseño por computadoraDiseño por computadora
Diseño por computadoraAriel Medina
 
Sistema de bases de datos
Sistema de bases de datosSistema de bases de datos
Sistema de bases de datosAriel Medina
 
Ingenieria de la informatica
Ingenieria de la informaticaIngenieria de la informatica
Ingenieria de la informaticaAriel Medina
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionAriel Medina
 
Repercusiones sociales
Repercusiones socialesRepercusiones sociales
Repercusiones socialesAriel Medina
 
Un resumen de nuestro estudio
Un resumen de nuestro estudioUn resumen de nuestro estudio
Un resumen de nuestro estudioAriel Medina
 
La ciencia de los algoritmos
La ciencia de los algoritmosLa ciencia de los algoritmos
La ciencia de los algoritmosAriel Medina
 
Historia de la computación
Historia de la  computaciónHistoria de la  computación
Historia de la computaciónAriel Medina
 
El papel de los algoritmos
El papel de los algoritmosEl papel de los algoritmos
El papel de los algoritmosAriel Medina
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosAriel Medina
 
Tratamiento de datos
Tratamiento de datosTratamiento de datos
Tratamiento de datosAriel Medina
 
Almacenamiento de datos
Almacenamiento de datosAlmacenamiento de datos
Almacenamiento de datosAriel Medina
 

Más de Ariel Medina (15)

Teoria de la computacion
Teoria de la computacionTeoria de la computacion
Teoria de la computacion
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
Diseño por computadora
Diseño por computadoraDiseño por computadora
Diseño por computadora
 
Sistema de bases de datos
Sistema de bases de datosSistema de bases de datos
Sistema de bases de datos
 
Ingenieria de la informatica
Ingenieria de la informaticaIngenieria de la informatica
Ingenieria de la informatica
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Repercusiones sociales
Repercusiones socialesRepercusiones sociales
Repercusiones sociales
 
Un resumen de nuestro estudio
Un resumen de nuestro estudioUn resumen de nuestro estudio
Un resumen de nuestro estudio
 
Abstraccion
AbstraccionAbstraccion
Abstraccion
 
La ciencia de los algoritmos
La ciencia de los algoritmosLa ciencia de los algoritmos
La ciencia de los algoritmos
 
Historia de la computación
Historia de la  computaciónHistoria de la  computación
Historia de la computación
 
El papel de los algoritmos
El papel de los algoritmosEl papel de los algoritmos
El papel de los algoritmos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Tratamiento de datos
Tratamiento de datosTratamiento de datos
Tratamiento de datos
 
Almacenamiento de datos
Almacenamiento de datosAlmacenamiento de datos
Almacenamiento de datos
 

Último

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (20)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

Abstracciones de datos

  • 1. IFE 115: INFORMÁTICA BÁSICA 0319199200025 Ariel Amilcar Medina PTEG-I-12-Ariel Amilcar Medina-VISITA 2-EXPO Abstracciones de datos Lic. Marcio Rodas Capitulo 8
  • 2. 8.1 Estructuras de datos básicas. 8.2 Conceptos relacionados. 8.3 Implementación de estructuras de datos. 8.4 Un pequeño caso de estudio 8.5 Tipos de datos personalizados 8.6 Clases y objetos 8.7 Punteros en el lenguaje maquina. Capitulo 8
  • 3. Introducción En este capitulo vamos a explorar técnicas para la construcción y manipulación de estructuras de datos distintas de las primitivas de un lenguaje, un análisis que nos llevara desde las estructuras de datos tradicionales hasta el paradigma orientado a objetos. Un tema subyacente a lo largo de toda esta progresión es la de construcción de herramientas abstractas. Capitulo 8
  • 4. 8.1 Estructura de datos básicas 1.- Arrays Es un bloque de datos “rectangular” cuyas entradas son todas del mismo tipo. En particular, un array bidimensional esta compuesto por filas y columnas en las que las distintas posiciones se identifican mediante una pareja de índices, el primer índice identifica la fila asociada con la posición, mientras que el segundo índice identifica la columna. A diferencia de un array, recuerde que un tipo agregado o estructura es un conjunto de datos que pueden ser de diferentes tipos. Los elementos del conjunto suele denominar componentes o campos. Capitulo 8
  • 5. 2.- Listas, pilas y colas -La lista es un conjunto cuyas entradas están ordenadas de manera secuencial. El inicio de una lista se denomina principio de lista, el otro extremo final. Capitulo 8
  • 6. -Una pila es una lista en la que las entradas se insertan y se eliminan únicamente al principio de la lista. Terminología coloquial el principio se denomina cima, el final fondo o base. Cuando se inserta una nueva entrada se dice que se apila (pushing), si se elimina se desapila (popping). La ultima entrada colocada en la pila, será siempre la primera en ser extraída, se le conoce como estructura LIFO (Last-IN, First-Out; ultimo en entrar, primero en salir). Suelen utilizarse pilas para implementar mecanismos para deshacer actividades, se conocen como vuelta atrás (backtracking). Capitulo 8 2.- Listas, pilas y colas
  • 7. Capitulo 8 • -Una cola es una lista en la que las entradas se extraen únicamente por el principio y se insertan únicamente por el final. 2.- Listas, pilas y colas
  • 8. Capitulo 8 Un árbol es un conjunto cuyas entradas tienen una organización jerárquica similar a la del organigrama de cualquier empresa. Cada posición de un árbol se denomina nodo. El nodo situado en la parte superior es el nodo raíz. Los nodos situados en el otro extremo se denominan nodos terminales (en ocasiones nodos hoja). Se le denomina profundidad del árbol al numero de nodos existente en la ruta mas larga desde la raíz a una de las hojas. Llamaremos hijos a sus descendientes inmediatos y padre a su antecesor. Nodos con un mismo padre diremos que son hermanos. Un árbol en el que cada padre no tenga mas de dos se denomina árbol binario. Los nodos situados por debajo de el tiene también estructura de un árbol las llamaremos subárbol. Cada subárbol se dice que es una rama del padre. 3.- Árboles
  • 9. Capitulo 8 8.2 Conceptos relacionados Otra vez la abstracción. La memoria principal de una computadora no esta organizada como arrays, lista, pilas colas y arboles, sino como una secuencia de celdas de memoria direccionales. Por tanto, todos los demás tipos de estructuras deberán se simulados. Matrices, listas, pilas, colas y arboles son organizaciones abstractas de los datos que se crean para ocultar a ojos de los usuarios los datos los detalles del almacenamiento real de esos datos y para que estos usuarios puedan acceder a la información como si esta estuviera almacenada de una forma mas conveniente.
  • 10. Capitulo 8 Estructuras de estáticas y dinámicas. Una diferencia importante a la hora de construir estructuras de abstractas es si la estructura que se esta simulando es estática o dinámica; es decir, si la forma o el tamaño de la estructura varia a lo largo del tiempo. Como regla general, las estructuras de datos estáticas se manipulan mas fácilmente que las dinámicas. Si una estructura es estática, simplemente necesitamos proporcionar un medio para acceder a los distintos elementos de datos de la estructura, y quizá también un medio de modificar los valores almacenados en ciertas ubicaciones.
  • 11. Capitulo 8 Punteros Un puntero es un área de almacenamiento que contiene una de esas direcciones codificadas. En el caso de las estructuras de datos, se utilizan punteros para anotar la ubicación en la que están almacenados los campos de datos. Al contador de programa se le denomina también en ocasiones puntero de instrucciones.
  • 12. Capitulo 8 8.3 Implementación de estructuras de datos. Maneras en las que pueden almacenarse en la memoria principal de una computadora una estructura de datos de las que hemos hablado en la sección anterior. *Almacenamiento de arrays: -Matrices -Estructuras *Almacenamiento de lista. *Almacenamiento de pilas y colas. *Almacenamiento de arboles binarios. *Manipulación de Estructuras de datos.
  • 16. Almacenamiento de pilas y colas. Capitulo 8
  • 17. Almacenamiento de arboles binarios. Capitulo 8
  • 19. Manipulación de estructuras de datos. Capitulo 8
  • 20. 8.4 Un pequeño caso de estudio. Vamos a considerar la tarea de almacenar una lista de nombres en orden alfabético. Vamos a asumir que las operaciones que hay que realizar con esta lista son las siguientes: -Buscar si existe una cierta entrada. -Imprimir la lista en orden alfabético e -Insertar una nueva entrada. Para efectuar búsquedas en la lista teniéndola almacenada de esta manera comparamos el valor buscado con el nodo raíz. Si los dos son iguales, la búsqueda habrá tenido éxito. Si son distintitos, nos moveremos al hijo izquierdo o al hijo derecho de la raíz dependiendo de si el valor buscado es menor o mayor que la raíz, respectivamente. Capitulo 8
  • 21. La Figura 8.21 muestra como podría expresarse este proceso de búsqueda en el caso de una estructura de árbol enlazado. Capitulo 8
  • 22. Capitulo 8 Este esbozo incluye las tareas de imprimir el subárbol izquierdo y el subárbol derecho en orden alfabético, siendo ambas tareas básicamente versiones reducidas de la tarea origina.
  • 23. Capitulo 8 Podemos concluir que un paquete software compuesto por una estructura de árbol binario enlazado y por nuestros procedimientos para buscar, imprimir e insertar proporciona un paquete completo que una hipotética aplicación podría utilizar como herramienta abstracta.
  • 24. 8.5 Tipos de datos personalizados. Vamos a ver de que manera pueden los programadores definir sus propios tipos de datos, para ajustarse, mejor a las necesidades de una aplicación concreta. Tipo de datos definidos por el usuario. Expresar un algoritmo suele ser mas fácil si hay disponibles tipos de datos distintos que los proporcionados como primitivos en los lenguajes de programación. Por esta razón, muchos lenguajes de programación modernos permiten a los programadores definir tipos adicionales, utilizando los tipos primitivos como componentes básicos. Para implementa esta idea, podríamos utilizar una instrucción de pseudo-código de la forma: Capitulo 8
  • 25. Tipos abstractos de datos Aunque el concepto de tipo de datos definido por el usuario es muy útil, no termina de resolver completamente la necesidad de creación de nuevos tipos de datos. Un tipo de datos completo esta compuesto por dos partes: 1) Un sistema de almacenamiento predeterminado (como un sistema en complemento a dos en el caso del tipo entero y un sistema de punto flotante en el caso del tipo real) 2) Una colección de operaciones predefinidas (como la suma y la resta) Si un programador declara una variable como de tipo primitivo, puede comenzar a aplicar de inmediato operaciones primitivas a esa variable, sin necesidad de efectuar definiciones adicionales. Los tipos de datos definidos por el usuario que incluyen también definiciones de operaciones se denominan tipos abstractos de datos. Capitulo 8
  • 26. Bibliografía • Introducción a la Computación 11. edición J. Glenn Brookshear. Capitulo 8