SlideShare uma empresa Scribd logo
1 de 24
ARBOLES PARCIALMENTE ORDENADOS ESTRUCTURAS DE DATOS
CONCEPTOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],150 125 75 80 30 25 72 15 20 28
UTILIDAD DE UN HEAP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
IMPLEMENTACION ,[object Object],[object Object],[object Object],[object Object],[object Object],1 2 3 4 5 6 7 8 9 10 ,[object Object],[object Object],[object Object],i*2 i*2+1 i/2 150 125 75 80 30 25 72 15 20 28
CONTANDO DESDE 0 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],150 125 75 80 30 25 72 15 20 28 0 1 2 3 4 5 6 7 8 9 150 125 75 80 30 25 72 15 20 28 0 1 2 3 4 5 6 7 8 9
REGLAS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DECLARACION: TDA HEAP ,[object Object],[object Object],[object Object],[object Object],typedef struct{ Generico *Elementos; int nefectivo; int max; Tipo_Orden tipo; }Heap;
OPERACIONES BASICAS: TDA HEAP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MAS OPERACIONES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AJUSTAR ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
AJUSTAR: EJEMPLO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],150 60 75 80 30 25 72 20 70 28 0 1 2 3 4 5 6 7 8 9 150 60 75 80 30 25 72 20 70 28 0 1 2 3 4 5 6 7 8 9 60 80 Pos PosMayor 80 60 Pos 70 PosMayor 70 60 150 80 75 70 30 25 72 20 60 28 0 1 2 3 4 5 6 7 8 9
AJUSTAR: IMPLEMENTACION static void Heap_Ajustar(Heap *H, int posnodo, Generico_fnComparar comocomparar){ int pos_mayor, izq, der; pos_mayor = posnodo; izq = IdxIzquierdo(*H, posnodo); der = IdxDerecho(*H, posnodo); if(izq>=0 && Heap_CompararxTipo(H->tipo_orden,H->Elementos[izq], H->Elementos[posnodo],comocomparar)  ) pos_mayor = izq; if(der>=0 && Heap_CompararxTipo(H->tipo_orden,H->Elementos[der],  H->Elementos[pos_mayor], comocomparar)) pos_mayor = der; if(pos_mayor != posnodo){ Generico_Intercambiar(&(H->Elementos[pos_mayor]),  &(H->Elementos[posnodo])); Heap_Ajustar(H,pos_mayor,comocomparar); } }
CONSTRUIR UN HEAP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],15 1 28 35 10 5 8 21 50 42 0 1 2 3 4 5 6 7 8 9 15 1 28 35 10 5 8 21 50 42 0 1 2 3 4 5 6 7 8 9
CONSTRUIR HEAP: EJEMPLO ,[object Object],[object Object],[object Object],[object Object],[object Object],15 1 28 35 10 5 8 21 50 42 0 1 2 3 4 5 6 7 8 9 15 1 28 35 10 5 8 21 50 42 0 1 2 3 4 5 6 7 8 9 42 10 50 35 28 50 1 35 1 50 15 42 15 50 42 28 35 15 5 8 21 1 10 0 1 2 3 4 5 6 7 8 9
CONSTRUIR HEAP: IMPLEMENTACION void Construir_Heap(Heap *H, Generico_fncomparar comocomparar){ int i; for(i = H->n/2; i >= 0; i--){ Heap_Ajustar(H,i,comocomparar); } }
DESENCOLAR ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DESENCOLAR: EJEMPLO ,[object Object],[object Object],[object Object],[object Object],150 125 75 80 30 25 72 15 20 28 0 1 2 3 4 5 6 7 8 9 150 125 75 80 30 25 72 15 20 28 0 1 2 3 4 5 6 7 8 9 28 28 125 75 80 30 25 72 15 20 0 1 2 3 4 5 6 7 8 125 28 28 80 125 80 75 28 30 25 72 15 20 0 1 2 3 4 5 6 7 8
DESENCOLAR: IMPLEMENTACION Generico Heap_DesEnColar(Heap *H,  Generico_fnComparar comocomparar){ Generico gmax; if(!Heap_EstaVacio(*H)){ gmax = H->Elementos[0]; Generico_Intercambiar(&(H->Elementos[0]),  &(H->Elementos[H->nefectiva-1])); H->nefectiva --; Heap_Ajustar(H, 0, comocomparar); return gmax; } return NULL; }
HEAPSORT ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
HEAPSORT: EJEMPLO ,[object Object],[object Object],72 25 15 150 125 75 80 30 25 72 15 20 28 0 1 2 3 4 5 6 7 8 9 150 125 75 80 30 25 72 15 20 28 0 1 2 3 4 5 6 7 8 9 28 15 0 20 1 25 2 28 3 30 4 72 5 75 6 80 7 125 8 150 9 125 80 20 28 125 80 75 28 30 25 72 15 20 0 1 2 3 4 5 6 7 8 9 80 30 15 20 80 30 75 28 20 25 72 15 0 1 2 3 4 5 6 7 8 9 75 15 15 75 30 72 28 20 25 15 0 1 2 3 4 5 6 7 8 9 72 15 15 72 30 25 28 20 15 0 1 2 3 4 5 6 7 8 9 30 28 20 15 30 28 25 15 20 0 1 2 3 4 5 6 7 8 9 28 15 20 28 20 25 15 0 1 2 3 4 5 6 7 8 9 25 15 25 20 15 0 1 2 3 4 5 6 7 8 9 20 15 20 15 0 1 2 3 4 5 6 7 8 9 15 15 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
HEAPSORT: IMPLEMENTACION LSE *HeapSort(LSE *Desordenada, Generico_fncomparar comocomparar){ Heap H; LSE_nodo *p; p = LSE_NodoPrimero(Desordenada);  while(!LSE_EstaVacia(Desordenada)) { Heap_Encolar(LSE_SacarPrimerNodo(Desordenada); } while(Heap_EstaVacio(*H)){ LSE_InsertarInicio(Desordenada, Heap_Desencolar(H, comocomparar); } return Desordenada; }
ENCOLAR ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ENCOLAR: EJEMPLO ,[object Object],[object Object],Nuevo valor:  130 150 125 75 80 30 25 72 15 20 28 0 1 2 3 4 5 6 7 8 9 150 125 75 80 30 25 72 15 20 28 0 1 2 3 4 5 6 7 8 9 130 10 130 130 30 130 125
ENCOLAR: IMPLEMENTACION void Heap_EnColar(Heap *H, Generico G,  Generico_fnComparar comocomparar){ int padre, i; if(H->nefectiva < H->max){ H->Elementos[H->nefectiva] = G; H->nefectiva++; i = H->nefectiva-1; padre = IdxPadre(*H,i); while((i>=0 && padre>=0) &&  Heap_CompararxTipo(H->tipo_orden, H->Elementos[i],  H->Elementos[padre], comocomparar)){ Generico_Intercambiar(&(H->Elementos[i]),  &(H->Elementos[padre])); i = padre; padre = IdxPadre(*H,i); } } }

Mais conteúdo relacionado

Mais procurados (20)

stack and queue array implementation in java.
stack and queue array implementation in java.stack and queue array implementation in java.
stack and queue array implementation in java.
 
Linked list
Linked listLinked list
Linked list
 
Stacks & Queues By Ms. Niti Arora
Stacks & Queues By Ms. Niti AroraStacks & Queues By Ms. Niti Arora
Stacks & Queues By Ms. Niti Arora
 
Stack using Linked List
Stack using Linked ListStack using Linked List
Stack using Linked List
 
Array y Objects C#
Array y Objects C#Array y Objects C#
Array y Objects C#
 
DS UNIT 1.pdf
DS UNIT 1.pdfDS UNIT 1.pdf
DS UNIT 1.pdf
 
Stack and Queue by M.Gomathi Lecturer
Stack and Queue by M.Gomathi LecturerStack and Queue by M.Gomathi Lecturer
Stack and Queue by M.Gomathi Lecturer
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Stacks in Data Structure
Stacks in Data StructureStacks in Data Structure
Stacks in Data Structure
 
linked lists in data structures
linked lists in data structureslinked lists in data structures
linked lists in data structures
 
Stack
StackStack
Stack
 
Queue Data Structure
Queue Data StructureQueue Data Structure
Queue Data Structure
 
Insertion in singly linked list
Insertion in singly linked listInsertion in singly linked list
Insertion in singly linked list
 
advanced sql(database)
advanced sql(database)advanced sql(database)
advanced sql(database)
 
Trees in data structures
Trees in data structuresTrees in data structures
Trees in data structures
 
stack presentation
stack presentationstack presentation
stack presentation
 
Data structure Stack
Data structure StackData structure Stack
Data structure Stack
 
Stack and queue
Stack and queueStack and queue
Stack and queue
 
Pseudo code of stack Queue and Array
Pseudo code of stack Queue and ArrayPseudo code of stack Queue and Array
Pseudo code of stack Queue and Array
 
Unit 4 queue
Unit   4 queueUnit   4 queue
Unit 4 queue
 

Destaque

Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceadosvmtorrealba
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datosamartinez_29
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceadoslourdesnbv
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datosnukeeHE
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasknowallrpa
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colasrcad
 
Tecnicas de rotacion en arboles balanceados
Tecnicas de rotacion en arboles balanceadosTecnicas de rotacion en arboles balanceados
Tecnicas de rotacion en arboles balanceadosPEREZHROS
 
Capitulo 8 Memoria Principal
Capitulo 8 Memoria PrincipalCapitulo 8 Memoria Principal
Capitulo 8 Memoria Principallagm000
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoriaguestca1de2e
 
Capitulo 9 Memoria Virtual
Capitulo 9 Memoria VirtualCapitulo 9 Memoria Virtual
Capitulo 9 Memoria Virtuallagm000
 
18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De Busqueda18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De BusquedaUVM
 
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...RootedCON
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en javaLuis Miguel De Bello
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOFredy Olaya
 

Destaque (20)

Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
 
Punteros
PunterosPunteros
Punteros
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
 
Programacion de Cadenas
Programacion de CadenasProgramacion de Cadenas
Programacion de Cadenas
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Arboles balanceados
Arboles balanceadosArboles balanceados
Arboles balanceados
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Tda y heaps
Tda y heapsTda y heaps
Tda y heaps
 
Pilas y Colas
Pilas y ColasPilas y Colas
Pilas y Colas
 
Tecnicas de rotacion en arboles balanceados
Tecnicas de rotacion en arboles balanceadosTecnicas de rotacion en arboles balanceados
Tecnicas de rotacion en arboles balanceados
 
Capitulo 8 Memoria Principal
Capitulo 8 Memoria PrincipalCapitulo 8 Memoria Principal
Capitulo 8 Memoria Principal
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoria
 
Capitulo 9 Memoria Virtual
Capitulo 9 Memoria VirtualCapitulo 9 Memoria Virtual
Capitulo 9 Memoria Virtual
 
4 memoria dinamica
4 memoria dinamica4 memoria dinamica
4 memoria dinamica
 
18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De Busqueda18 Arboles Como Estructura De Busqueda
18 Arboles Como Estructura De Busqueda
 
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
Jaime Peñalba - Como defenderse en terreno hostil: Protecciones para la Defco...
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en java
 
PARADIGMA IMPERATIVO
PARADIGMA IMPERATIVOPARADIGMA IMPERATIVO
PARADIGMA IMPERATIVO
 

Semelhante a HEAPS

Semelhante a HEAPS (20)

Heaps
HeapsHeaps
Heaps
 
Pqueues
PqueuesPqueues
Pqueues
 
Pqueues
PqueuesPqueues
Pqueues
 
PILAS
PILASPILAS
PILAS
 
Heap sort
Heap sortHeap sort
Heap sort
 
Listas Pilas Colas
Listas Pilas ColasListas Pilas Colas
Listas Pilas Colas
 
08 pilas1 t2018
08 pilas1 t201808 pilas1 t2018
08 pilas1 t2018
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Parte
 
ED 03 2_listas especiales
ED 03 2_listas especialesED 03 2_listas especiales
ED 03 2_listas especiales
 
LISTAS ESPECIALES
LISTAS ESPECIALESLISTAS ESPECIALES
LISTAS ESPECIALES
 
Proyecto estructura
Proyecto estructuraProyecto estructura
Proyecto estructura
 
Curso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacionCurso-PROPE-PyED-5-Pilas-Colas-programacion
Curso-PROPE-PyED-5-Pilas-Colas-programacion
 
Heap sort2
Heap sort2Heap sort2
Heap sort2
 
Heap sort
Heap sortHeap sort
Heap sort
 
PresentacióN 4
PresentacióN 4PresentacióN 4
PresentacióN 4
 
Intro a ruby
Intro a rubyIntro a ruby
Intro a ruby
 
Qué son las colas de prioridad
Qué son las colas de prioridadQué son las colas de prioridad
Qué son las colas de prioridad
 
Curso TIC de PHP y MSQL Parte 2
Curso TIC de PHP y MSQL Parte 2Curso TIC de PHP y MSQL Parte 2
Curso TIC de PHP y MSQL Parte 2
 
7
77
7
 
SCJP, Clase 3: Asignaciones
SCJP, Clase 3: AsignacionesSCJP, Clase 3: Asignaciones
SCJP, Clase 3: Asignaciones
 

Mais de Gustavo Salazar Loor (20)

Max Plus Compilar vhdl
Max Plus Compilar vhdlMax Plus Compilar vhdl
Max Plus Compilar vhdl
 
ECUADOR
ECUADORECUADOR
ECUADOR
 
Electronica I Clase07
Electronica I Clase07Electronica I Clase07
Electronica I Clase07
 
Electronica I Clase07
Electronica I Clase07Electronica I Clase07
Electronica I Clase07
 
Electronica I Clase06
Electronica I Clase06Electronica I Clase06
Electronica I Clase06
 
Electronica I Clase05
Electronica I Clase05Electronica I Clase05
Electronica I Clase05
 
Electronica I Clase04
Electronica I Clase04Electronica I Clase04
Electronica I Clase04
 
Electronica I Clase03
Electronica I Clase03Electronica I Clase03
Electronica I Clase03
 
Electronica I Clase02
Electronica I Clase02Electronica I Clase02
Electronica I Clase02
 
Electronica I Clase01
Electronica I Clase01Electronica I Clase01
Electronica I Clase01
 
TDA
TDATDA
TDA
 
ARBOLES MULTICAMINOS
ARBOLES MULTICAMINOSARBOLES MULTICAMINOS
ARBOLES MULTICAMINOS
 
LISTAS
LISTASLISTAS
LISTAS
 
GRAFOS
GRAFOSGRAFOS
GRAFOS
 
ARBOLES
ARBOLESARBOLES
ARBOLES
 
COLAS
COLASCOLAS
COLAS
 
CODIGO DE HUFFMAN
CODIGO DE HUFFMANCODIGO DE HUFFMAN
CODIGO DE HUFFMAN
 
RESPIRACION Y FERMENTACION
RESPIRACION Y FERMENTACIONRESPIRACION Y FERMENTACION
RESPIRACION Y FERMENTACION
 
CODIGO GENETICO
CODIGO GENETICOCODIGO GENETICO
CODIGO GENETICO
 
ATP
ATPATP
ATP
 

Último

Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 

Último (20)

Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 

HEAPS

  • 1. ARBOLES PARCIALMENTE ORDENADOS ESTRUCTURAS DE DATOS
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. AJUSTAR: IMPLEMENTACION static void Heap_Ajustar(Heap *H, int posnodo, Generico_fnComparar comocomparar){ int pos_mayor, izq, der; pos_mayor = posnodo; izq = IdxIzquierdo(*H, posnodo); der = IdxDerecho(*H, posnodo); if(izq>=0 && Heap_CompararxTipo(H->tipo_orden,H->Elementos[izq], H->Elementos[posnodo],comocomparar) ) pos_mayor = izq; if(der>=0 && Heap_CompararxTipo(H->tipo_orden,H->Elementos[der], H->Elementos[pos_mayor], comocomparar)) pos_mayor = der; if(pos_mayor != posnodo){ Generico_Intercambiar(&(H->Elementos[pos_mayor]), &(H->Elementos[posnodo])); Heap_Ajustar(H,pos_mayor,comocomparar); } }
  • 13.
  • 14.
  • 15. CONSTRUIR HEAP: IMPLEMENTACION void Construir_Heap(Heap *H, Generico_fncomparar comocomparar){ int i; for(i = H->n/2; i >= 0; i--){ Heap_Ajustar(H,i,comocomparar); } }
  • 16.
  • 17.
  • 18. DESENCOLAR: IMPLEMENTACION Generico Heap_DesEnColar(Heap *H, Generico_fnComparar comocomparar){ Generico gmax; if(!Heap_EstaVacio(*H)){ gmax = H->Elementos[0]; Generico_Intercambiar(&(H->Elementos[0]), &(H->Elementos[H->nefectiva-1])); H->nefectiva --; Heap_Ajustar(H, 0, comocomparar); return gmax; } return NULL; }
  • 19.
  • 20.
  • 21. HEAPSORT: IMPLEMENTACION LSE *HeapSort(LSE *Desordenada, Generico_fncomparar comocomparar){ Heap H; LSE_nodo *p; p = LSE_NodoPrimero(Desordenada); while(!LSE_EstaVacia(Desordenada)) { Heap_Encolar(LSE_SacarPrimerNodo(Desordenada); } while(Heap_EstaVacio(*H)){ LSE_InsertarInicio(Desordenada, Heap_Desencolar(H, comocomparar); } return Desordenada; }
  • 22.
  • 23.
  • 24. ENCOLAR: IMPLEMENTACION void Heap_EnColar(Heap *H, Generico G, Generico_fnComparar comocomparar){ int padre, i; if(H->nefectiva < H->max){ H->Elementos[H->nefectiva] = G; H->nefectiva++; i = H->nefectiva-1; padre = IdxPadre(*H,i); while((i>=0 && padre>=0) && Heap_CompararxTipo(H->tipo_orden, H->Elementos[i], H->Elementos[padre], comocomparar)){ Generico_Intercambiar(&(H->Elementos[i]), &(H->Elementos[padre])); i = padre; padre = IdxPadre(*H,i); } } }