SlideShare una empresa de Scribd logo
Otras Estructuras
de Datos
UNIDAD 5
Otras Estructuras de datos
1.Montículo	Heap	
2.Tablas	Hash	
3.Arreglos	Asociativos
Montículo (Heap)
Colas	de	Prioridad
• En	algunos	casos	se	necesita	ordenar	elementos	según	
cierta	prioridad,	por	ejemplo:	
• Procesos	en	un	sistema	operativo:	Los	procesos	de	sistema	
tienen	mayor	prioridad	de	ejecución	que	los	procesos	de	
usuario	
• Enrutamiento	de	paquetes	en	redes:	Los	paquetes	de	
protocolo	“Voice	over	IP”	tienen	prioridad	sobre	los	de	datos	
regulares	
• Colas	de	supermercado:	Los	ancianos	y	mujeres	embarazadas	
tienen	prioridad
Colas	de	Prioridad
• Son	una	generalización	de	las	pilas	y	las	colas.	
• En	lugar	de	insertar	y	eliminar	elementos	en	un	orden	
predeterminado,	a	cada	elemento	se	le	asigna	una	
prioridad	representada	por	un	entero.	
• El	ingreso	se	realizará	en	base	a	la	prioridad	
• La	eliminación	siempre	corresponderá	al	elemento	con	
una	mayor	prioridad	(el	valor	más	pequeño)
Colas	de	Prioridad
• Estas	tienen	un	tamaño	máximo	predeterminado.	
• El	tamaño	predeterminado	es	una	característica	de	
seguridad	para	evitar	sobrecargas	en	el	sistema	en	que	
se	esté	usando	la	cola	(por	ejemplo	los	ataques	DOS)	
• Se	pueden	implementar	de	varias	formas:	
• Arreglo	desordenado	
• Arreglo	ordenado	
• Heap
Colas	de	Prioridad
• Cuentan	con	las	siguientes	operaciones:	
• Vacío	–	IsEmpty:	Permite	saber	si	la	cola	está	vacía	o	no	
• Añadir(prioridad)	–	Add:	Añade	un	nuevo	elemento	para	
el	cual	se	especifica	la	prioridad	
• Remover	–	Remove:	Remueve	el	elemento	con	la	más	alta	
prioridad	
• Consulta	–	Peek:	Permite	ver	el	elemento	con	la	más	alta	
prioridad
Arreglo	Desordenado
• Se	debe	tener	un	arreglo	del	tamaño	límite	definido	
previamente,	el	cual	se	mantendrá	desordenado	en	
todo	momento.	
• Se	deberá	tener	una	variable	que	apunte	a	la	última	
posición	disponible	en	el	arreglo	(n).	
• La	inserción	consiste	en	agregar	el	nuevo	elemento	en	la	
posición	n	y	aumentar	en	1	el	valor	de	n.	Es	una	
operación	de	tiempo	constante	O(1).
Arreglo	Desordenado
• 	La	eliminación	consiste	en	ubicar	el	elemento	más	
pequeño	del	listado	por	medio	de	una	búsqueda	
secuencial,	intercambiarlo	por	el	elemento	en	n	y	
decrementar	en	1	a	n.	Tiene	un	costo	lineal	debido	a	la	
búsqueda	O(n).
Arreglo	Ordenado
• Se	debe	tener	un	arreglo	del	tamaño	límite	definido	
previamente,	el	cual	mantendremos	ordenado	en	todo	
momento.	
• Se	deben	tener	dos	variables,	una	que	apunte	a	la	
primera	posición	disponible	en	el	arreglo	y	la	otra	a	la	
última.	
• La	inserción	consiste	en	agregar	el	nuevo	elemento	en	la	
posición	correspondiente.
Arreglo	Ordenado
• En	la	inserción	se	realizan	varios	pasos:	
• Se	ubica	la	posición	para	insertar	el	elemento	por	
medio	de	una	búsqueda	binaria.	O(logn)	
• 	Se	corren	los	elementos	posteriores	para	dejar	un	
espacio	para	el	nuevo	elemento.	O(n)	
• Se	inserta	el	elemento.	O(1)	
• La	eliminación	consiste	en	tomar	el	elemento	indicado	
por	el	primer	apuntador	e	incrementar	este	en	1.	O(1)
Comparación	de	métodos
• Al	comparar	los	dos	métodos	vistos	nos	damos	cuenta	
que	cada	uno	tiene	un	punto	en	contra	y	otro	a	favor,	
por	lo	que	surge	el	Heap	como	una	estructura	que	
mantiene	el	balance	en	las	dos	operaciones	básicas.
Método Inserción Eliminación	del	
mínimo
Arreglo	ordenado O(n) O(1)
Arreglo	desordenado O(1) O(n)
Heap O(logn) O(logn)
Heap
• También	llamado	“montículo”,	es	una	estructura	de	
datos	basada	en	un	árbol	binario	balanceado	que	
permite	la	implementación	de	colas	de	prioridad.	
• Se	dice	que	el	elemento	más	prioritario	(valor	más	
pequeño)	siempre	se	encuentra	en	la	raíz	
• Debe	de	cumplir	con	dos	condiciones	básicas:	
• Orden	invariante	de	Heap	
• Forma	invariante
Orden	invariante	Heap
• El	orden	invariante	garantiza	que	el	nodo	con	mayor	
prioridad	se	encuentra	en	la	raíz.		
• Existen	2	formas	de	analizar	esta	condición:		
		
• Orden	invariante	Heap,	alternativa	1:	La	llave	de	un	
nodo	en	el	árbol	es	menor	o	igual	que	todas	las	
llaves	de	sus	hijos.	
• Orden	invariante	Heap,	alternativa	2:	La	llave	de	un	
nodo	en	el	árbol	es	mayor	o	igual	a	su	padre,	
excepto	la	raiz.
Orden	invariante	Heap
• Las	dos	opciones	son	equivalentes,	son	dos	formas	de	
ver	la	misma	situación.		
• Ambos	casos	implican	que	el	mínimo	elemento	del	
Heap	se	encuentra	en	la	raíz.	
• Según	el	problema	que	esté	analizando,	así	elegiremos	
un	punto	de	vista	más	adecuado	para	la	
implementación.
Forma	invariante
• Es	la	otra	restricción	que	cumple	el	Heap.	
• La	forma	de	un	Heap	está	completamente	determinada	
por	la	cantidad	de	elementos	que	contiene.	
• Esta	restricción	indica	que	el	árbol	se	llena	nivel	por	
nivel	de	izquierda	a	derecha.
Inserción	
• Se	debe	cumplir	con	las	dos	restricciones:	orden	
invariante	y	forma	invariante.
Inserción	
• La	inserción	de	un	nuevo	elemento	en	un	heap	conlleva	
los	siguientes	pasos:	
1. Insertar	el	elemento	en	la	posición	que	corresponda	
(según	forma	invariante).	
2. Si	al	insertar	el	elemento	este	viola	la	condición	de	
orden	invariante	se	debe	sustituir	con	el	nodo	
padre.	
3. Se	repite	el	paso	2	hasta	que	se	deje	de	incumplir	la	
condición	de	orden	invariante	o	lleguemos	a	la	raíz.
Ejemplo
• Insertar	el	elemento	1	en	el	siguiente	nodo:
Ejemplo
Eliminación
• La	eliminación	en	Heap	supone	la	eliminación	del	nodo	
con	mayor	prioridad	(raíz),	y	conlleva	los	siguientes	
pasos:		
1. Eliminar	la	raíz.		
2. Intercambiar	el	último	nodo	insertado	con	la	raíz.	(Este	nodo	será	la	
nueva	raíz).	
3. Este	intercambio	violará	la	condición	de	orden	invariante,	por	lo	que	
deben	realizarse	intercambios	evaluando	los	nodos	hijos	e	
intercambiando	por	el	nodo	de	mayor	prioridad	(menor	valor).	
4. Repetir	el	paso	3	hasta	que	se	deje	de	violar	la	condición	de	orden	
invariante	o	alcancemos	una	hoja.
Eliminación
Eliminación
Eliminación
Heap	(en	un	arreglo)
• Para	realizar	una	implementación	de	Heap	
utilizando	arreglos,	se	aprovecha	el	hecho	de	
que	para	cada	nodo	“i”	se	cumple	que:	
• El	hijo	izquierdo	es	2*i	
• El	hijo	derecho	es	2*I	+	1	
• El	padre	es	i/2	(utilizando	división	entera)	
• La	raiz	siempre	será	1	
• La	posición	0	siempre	estará	vacía
Heap	(en	un	arreglo)
• Algunos	ejemplos	de	dicha	representación:
Heap	Sort
	Si	se	agregan	todos	los	elementos	de	un	listado	a	un	Heap	(paso	1)	y	
luego	se	remueven	(paso	2),	se	obtiene	un	listado	ordenado.	
	Las	operaciones	de	inserción	y	borrado	son	O(log	n),	si	estas	se	repiten	
n	veces,	obtenemos	un	ordenamiento	de	rendimiento	O(n	log	n),	el	cual	
es	similar	al	del	Merge	Sort.	
	El	principio	para	trabajar	este	ordenamiento	es	similar	al	del	
ordenamiento	por	inserción.
Paso	1:
Paso	2:
Tablas Hash
Hash tables
● En	este	tipo	de	estructuras	se	almacenan	pares	Llave,	Valor.	
● Usualmente	 requerimos	 buscar	 en	 base	 al	 valor	 de	 la	 llave,	
teniendo	 que	 realizar	 búsquedas	 secuenciales	 (datos	
desordenados)	o	búsquedas	binarias	(datos	ordenados).	
● La	tabla	hash	es	una	solución	al	problema	de	la	búsqueda	ya	que	
permite	acceder	directamente	a	la	ubicación	donde	se	encuentre	
nuestro	dato,	sin	tener	que	revisar	las	otras	posiciones.	
● Se	dice	que	la	ubicación	es	computada	en	base	al	valor	de	la	llave.
Hash tables
Hash tables
● Existen	 casos	 donde	 es	 sencillo	 encontrar	 una	 función	 de	
conversión.	
o Por	 ejemplo	 una	 lista	 de	 100	 empleados,	 donde	 el	 código	 de	
empleado	es	un		número	del	1	al	100,	la	correspondencia	es	directa.	
● Existen	 otros	 casos	 donde	 no	 es	 posible	 establecer	 una	 relación	
como	el	inciso	anterior.	
o Por	 ejemplo,	 si	 necesitamos	 que	 el	 campo	 de	 búsqueda	 sea	 el	
número	 de	 documento	 de	 identificación	 DPI	 (varios	 millones)	 para	
una	muestra	de	100	empleados.
Hash tables
● Las	tablas	hash	almacenan	la	información	en	arreglos.	
● El	índice	del	arreglo	no	es	igual	a	la	llave,	pero	se	puede	calcular	a	
partir	de	esta.	
● Lo	anterior	es	importante,	ya	que	si	fueran	iguales	habrían	casos	
donde	 tendríamos	 que	 tener	 un	 arreglo	 de	 tamaño	 infinito	 para	
poder	alojar	todas	las	distintas	claves.	
● Al	índice	dentro	del	arreglo	se	le	llama	“Hash	Code”.	
● A	la	función	que	realiza	la	conversión	a	“Hash	Code”	se	le	llama	
“Hash	Function”.
Hash tables
● Cuando	 dos	 o	 más	 claves	 tiene	 el	 mismo	 hash	 code	 decimos	 que	
existe	una	colisión.	
● Una	colisión	es	parte	del	funcionamiento	normal	de	una	hash	table,	
no	es	un	error.	
● La	 solución	 más	 común	 para	 el	 manejo	 de	 colisiones	 es	 que	 cada	
posición	del	arreglo	a	su	vez	sea	un	Lista	Enlazada	(ver	el	diagrama	
en	la	siguiente	diapositiva).		
● En	 una	 hash	 table	 apropiadamente	 diseñada,	 la	 mayoría	 de	 listas	
enlazadas	deberán	tener	una	longitud	de	0	o	1.	
● En	algunas	implementaciones,	cuando	el	número	de	items	en	alguna	
lista	exceda	un	cierto	porcentaje	del	tamaño	del	arreglo,	el	arreglo	es	
expandido	y	los	ítems	reasignados.
Hashing
Arreglos Asociativos
(Maps, Diccionaries)
Arreglos “Tradicionales”
	Es	 una	 estructura	 donde	 podemos	 acceder	 a	
cualquier	 elemento	 por	 medio	 de	 operaciones	 de	
obtención	(get)	o	asignación	(put)	.	
	Operaciones	 referenciadas	 por	 un	 número	 entero	
“i”	que	estará	en	el	rango	de	0	a	N	
	N	es	la	cantidad	de	elementos	contenidos.
Arreglos Asociativos
	Es	una	generalización	del	concepto	tradicional	de	
arreglos.	
	Están	definidos	por	operaciones	de	“get”	y	“put”.	
	Estas	operaciones	no	están	referenciadas	por	
números	enteros,	sino	por	medio	de	un	objeto	
arbitrario	de	tipo	T.
Arreglos Asociativos
	Normalmente	 este	 tipo	 de	 asociación	 solamente	
define	 una	 interfaz,	 más	 no	 un	 implementación	
específica,	 por	 lo	 que	 la	 implementación	 del	
arreglo	asociativo	puede	hacerse	de	varias	formas.	
	Ejemplos	de	estas	interfaces	son:	
◦ Java:	Map	<K,	V>	
◦ C#:	IDictionary	<TKey,	TValue>
Arreglos Asociativos
	Algunos	ejemplos	de	implementaciones	específicas	son:
Estructura	utilizada Java .Net	Framework
Árbol	Binario TreeMap<K,	V> SortedList<TKey,	Tvalue)	
SortedDictionary<TKey,	Tvalue)
Hash HashMap<K,	V> Dictionary	<TKey,	Tvalue)
Arreglos Asociativos
	Para	elegir	la	estructura	adecuada	puedo	utilizar	el	
siguiente	diagrama:
¿Tengo	necesidad	de	
recorrer	los	elementos	
en	forma	ordenada?
¿Las	llaves	están	pre-
ordenadas?
SortedList
SortedDictionary
Dictionary
si
no
si
no
Dictionary<TKey, TValue> (Clase)
	.NET	Framework	(current	version)	
	Represents	a	collection	of	keys	and	values.	
	To	browse	the	.NET	Framework	source	code	for	this	type,	
see	the	Reference	Source.	
	Espacio	de	nombres:			System.Collections.Generic	
	Ensamblado:		mscorlib	(en	mscorlib.dll)
Dictionary - Ejemplo 1
Dictionary - Ejemplo 1
Dictionary - Ejemplo 3
	Para	el	ejemplo	3,	se	deberá	
modificar	la	definición	de	la	clase	
”Carro”	presentada	anteriormente,	
se	deberá	indicar	que	implementa	
la	interfaz	“IEquatable<Carro>	”.	
	Además,	se	deberán	agregar	los	
siguientes	tres	métodos.
Dictionary - Ejemplo 3
SortedDictionary<TKey, TValue> (Clase)
	.NET	Framework	(current	version)	
	Represents	a	collection	of	key/value	pairs	that	are	
sorted	on	the	key.	
	Espacio	de	nombres:			System.Collections.Generic	
	Ensamblado:		System	(in	System.dll)
SortedDictionary<TKey, TValue> (Clase)
SortedList<TKey, TValue> (Clase)
	.NET	Framework	(current	version)	
	Represents	a	collection	of	key/value	pairs	that	are	sorted	
by	key	based	on	the	associated	IComparer<T>	
implementation.	
	Espacio	de	nombres:			System.Collections.Generic	
	Ensamblado:		System	(in	System.dll)
Gracias por su atención

Más contenido relacionado

La actualidad más candente

Ordenamiento QuickSort
Ordenamiento QuickSortOrdenamiento QuickSort
Ordenamiento QuickSort
Andre Jaramillo
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
J M
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
Angel Vázquez Patiño
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
Alvaro Enrique Ruano
 
Concurrencias BD
Concurrencias BDConcurrencias BD
Concurrencias BD
Manuel Estevez
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCristopher Morales Ruiz
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
José Antonio Sandoval Acosta
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
Sara Martínez Gómez
 
Infografia
InfografiaInfografia
Pilas estáticas. IESIT
Pilas estáticas. IESITPilas estáticas. IESIT
Pilas estáticas. IESIT
Blanca Elia Jiménez Guzmán
 
Multiplexor 4 Entradas 1 Salida (4-1)
Multiplexor 4 Entradas 1 Salida (4-1)Multiplexor 4 Entradas 1 Salida (4-1)
Multiplexor 4 Entradas 1 Salida (4-1)
251089luis
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sorttephyfree
 
Algoritmos computacionales y programación: 4
Algoritmos computacionales y programación: 4Algoritmos computacionales y programación: 4
Algoritmos computacionales y programación: 4
Universidad Veracruzana
 
Listas
ListasListas
Archivo Secuencial
Archivo SecuencialArchivo Secuencial
Archivo Secuencial
luismy_martinez
 
Metodos de ordenamiento 2
Metodos de ordenamiento 2Metodos de ordenamiento 2
Metodos de ordenamiento 2
angela montilla
 

La actualidad más candente (20)

Ordenamiento QuickSort
Ordenamiento QuickSortOrdenamiento QuickSort
Ordenamiento QuickSort
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Concurrencias BD
Concurrencias BDConcurrencias BD
Concurrencias BD
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Estructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras LinealesEstructura de Datos - Unidad III Estructuras Lineales
Estructura de Datos - Unidad III Estructuras Lineales
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
Infografia
InfografiaInfografia
Infografia
 
Unidad de Control
Unidad de ControlUnidad de Control
Unidad de Control
 
Pilas estáticas. IESIT
Pilas estáticas. IESITPilas estáticas. IESIT
Pilas estáticas. IESIT
 
Multiplexor 4 Entradas 1 Salida (4-1)
Multiplexor 4 Entradas 1 Salida (4-1)Multiplexor 4 Entradas 1 Salida (4-1)
Multiplexor 4 Entradas 1 Salida (4-1)
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 
Algoritmos computacionales y programación: 4
Algoritmos computacionales y programación: 4Algoritmos computacionales y programación: 4
Algoritmos computacionales y programación: 4
 
Listas
ListasListas
Listas
 
Archivo Secuencial
Archivo SecuencialArchivo Secuencial
Archivo Secuencial
 
Metodos de ordenamiento 2
Metodos de ordenamiento 2Metodos de ordenamiento 2
Metodos de ordenamiento 2
 
Planificacion mlq
Planificacion mlqPlanificacion mlq
Planificacion mlq
 

Similar a Otras estructuras de datos (heap, tablas hash y diccionarios)

Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
Kaarla Roodriguez DeSaucedo
 
1 sistemas de informaciòn 011
1 sistemas de informaciòn 0111 sistemas de informaciòn 011
1 sistemas de informaciòn 011
AbelAbedSilvaSantaCr
 
Actualización de sistema operativo 2
Actualización de sistema operativo 2Actualización de sistema operativo 2
Actualización de sistema operativo 2
Jorge Pulido
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
Suujeey Hernandez
 

Similar a Otras estructuras de datos (heap, tablas hash y diccionarios) (6)

Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
 
1 sistemas de informaciòn 011
1 sistemas de informaciòn 0111 sistemas de informaciòn 011
1 sistemas de informaciòn 011
 
Actualización de sistema operativo 2
Actualización de sistema operativo 2Actualización de sistema operativo 2
Actualización de sistema operativo 2
 
Tema5
Tema5Tema5
Tema5
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
 
Informatica 1
Informatica 1Informatica 1
Informatica 1
 

Más de Alvaro Enrique Ruano

Resumen caso Enron
Resumen caso EnronResumen caso Enron
Resumen caso Enron
Alvaro Enrique Ruano
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
Alvaro Enrique Ruano
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
Alvaro Enrique Ruano
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
Alvaro Enrique Ruano
 
Ordenamientos rápido y mezcla
Ordenamientos rápido y mezclaOrdenamientos rápido y mezcla
Ordenamientos rápido y mezcla
Alvaro Enrique Ruano
 
Ordenamientos por selección y Shell
Ordenamientos por selección y ShellOrdenamientos por selección y Shell
Ordenamientos por selección y Shell
Alvaro Enrique Ruano
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
Alvaro Enrique Ruano
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
Alvaro Enrique Ruano
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
Alvaro Enrique Ruano
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
Alvaro Enrique Ruano
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clases
Alvaro Enrique Ruano
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
Alvaro Enrique Ruano
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
Alvaro Enrique Ruano
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
Alvaro Enrique Ruano
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
Alvaro Enrique Ruano
 
Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...
Alvaro Enrique Ruano
 
Solución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareSolución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de software
Alvaro Enrique Ruano
 

Más de Alvaro Enrique Ruano (17)

Resumen caso Enron
Resumen caso EnronResumen caso Enron
Resumen caso Enron
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Introducción al análisis de algoritmos
Introducción al  análisis de algoritmosIntroducción al  análisis de algoritmos
Introducción al análisis de algoritmos
 
Ordenamientos rápido y mezcla
Ordenamientos rápido y mezclaOrdenamientos rápido y mezcla
Ordenamientos rápido y mezcla
 
Ordenamientos por selección y Shell
Ordenamientos por selección y ShellOrdenamientos por selección y Shell
Ordenamientos por selección y Shell
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Ordenamientos burbuja e inserción
Ordenamientos burbuja e inserciónOrdenamientos burbuja e inserción
Ordenamientos burbuja e inserción
 
Programación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clasesProgramación Orientada a Objetos - Otras relaciones entre clases
Programación Orientada a Objetos - Otras relaciones entre clases
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Técnicas de programación
Técnicas de programaciónTécnicas de programación
Técnicas de programación
 
Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...Análisis de una inversión en activos financieros negociados por medio de la B...
Análisis de una inversión en activos financieros negociados por medio de la B...
 
Solución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de softwareSolución de problemas y ciclo de vida del desarrollo de software
Solución de problemas y ciclo de vida del desarrollo de software
 

Último

experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
cuentauniversidad34
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
lasocharfuelan123
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
RobertSotilLujn
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
oscartorres960914
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
Federico Toledo
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisiónPSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
CamilaEspinozaCruz
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 

Último (11)

experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...experiencia de aprendizaje sobre lectura y escritura como  herramientas de ap...
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
trabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docxtrabajo integrador final sofi y vane.docx
trabajo integrador final sofi y vane.docx
 
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA  DE TRABAJO DE CREACION DE TABLAS EN WORDFICHA  DE TRABAJO DE CREACION DE TABLAS EN WORD
FICHA DE TRABAJO DE CREACION DE TABLAS EN WORD
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
infografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de softwareinfografia del sena para analisis y desarrollo de software
infografia del sena para analisis y desarrollo de software
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 
Los desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMsLos desafíos de calidad de software que nos trae la IA y los LLMs
Los desafíos de calidad de software que nos trae la IA y los LLMs
 
Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisiónPSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
PSICOLOGÍA si quieres aprender los temas principales para el examen de admisión
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 

Otras estructuras de datos (heap, tablas hash y diccionarios)