SlideShare una empresa de Scribd logo
1 de 28
Árboles Binarios
Las estructuras dinámicas son las en la ejecución
varia el número de elementos y uso de memoria a lo
largo del programa)
Entre estas tenemos:
Lineales (listas enlazadas, pilas y colas)
No lineales (arboles binarios y grafos o redes)
¿Qué es un Árbol?
• Es una estructura de datos jerárquica.
• La relación entre los elementos es de uno a
muchos.
Terminología
• Nodo: Cada elemento en un árbol.
• Nodo Raíz: Primer elemento agregado al árbol.
B
A
D E
H
F
K
G
C
Nodo Raíz
Más terminología
• Nodo Padre: Se le llama así al nodo predecesor de un elemento.
• Nodo Hijo: Es el nodo sucesor de un elemento.
• Hermanos: Nodos que tienen el mismo nodo padre.
B
A
D E
H
F
K
G
C
Nodo Padre
F y G son Nodos Hijos de C
F y G son hermanos
Más terminología
• Nodo Hoja: Aquel nodo que no tiene hijos.
B
A
D E
H
F
K
G
C
D, H, F y K son Nodos Hojas
Más terminología
• Subárbol: Todos los nodos descendientes por la izquierda
o derecha de un nodo.
B
A
D E
H
F
K
G
C
Subárbol derecho de C
Subárbol izquierdo de C
Altura y Niveles
Nivel 0
Nivel 1
Nivel 2
Nivel 3
Altura
del árbol
= 4
B
A
D E
H
F
K
G
C
La Altura es la cantidad de niveles.
Árbol Binario de Búsqueda (ABB)
• Este tipo de árbol permite almacenar
información ordenada.
• Reglas a cumplir:
– Cada nodo del árbol puede tener 0, 1 ó 2 hijos.
– Los descendientes izquierdos deben tener un
valor menor al padre.
– Los descendientes derechos deben tener un valor
mayor al padre.
Ejemplos de ABB…
13
21
5 18
15
25
40
36
33
21
30
32
43
41
33
¿Por qué no son ABB?
13
21
17 18
15
25
40
22
33
1
5
2 4
6
Implementación de un ABB…
class NodoArbol
{
public:
int info;
NodoArbol *izq, *der;
NodoArbol( );
NodoArbol(int dato);
};
NodoArbol(void) { izq = der = NULL; }
NodoArbol(int dato) { info = dato; izq = der = NULL; }
Continuación…
class ABB
{
private:
NodoArbol *raiz;
public:
ABB( ); // constructor
~ABB( ); // destructor
//otros métodos
};
Proceso para buscar un nodo...
13
21
10 18 25
40
33
¿El 25 es mayor o
menor que el 21?
Buscar el 25
13
21
10 18 25
40
33
¿El 25 es
mayor o menor
que el 33?
13
21
10 18 25
40
33
Encontrad
o
Paso
1
Paso
2
Paso
3
Implementación de la búsqueda
...
p=raiz;
while (p != NULL)
{ if (p->info == valor)
return p;
else
p=(p->info > valor? p->izq: p->der);
}
return NULL;
…
P contiene la dirección del nodo
que tiene el valor buscado
No se encontró el valor por lo que
se regresa un NULL
Equivalente a:
if ( p -> info > valor )
p = p -> izq;
else p = p-> der;
Proceso para agregar nodos...
• Reglas:
– El valor a insertar no existe en el árbol.
– El nuevo nodo será un Nodo Hoja del árbol.
• Procedimiento
1. Buscar el Nodo Padre del nodo a agregar.
2. Agregar el nodo hoja.
Ejemplo
13
21
10 18 25
40
33
¿El 26 es mayor o
menor que el 21?
Agregar el valor 26
13
21
10 18 25
40
33
¿El 26 es
mayor o menor
que el 33?
13
21
10 18 25
40
33
Se encontró el Nodo
Padre
Paso
1
Paso
2
Paso
3
13
21
10 18 25
40
33
Agregar el nodo
Paso
4
26
Comentarios importantes....
• El orden de inserción de los datos, determina la forma del ABB.
• ¿Qué pasará si se insertan los datos en forma ordenada?
• La forma del ABB determina la eficiencia del proceso de búsqueda.
• Entre menos altura tenga el ABB, más balanceado estará, y más
eficiente será.
13
10
18
21
25
Este árbol está
desbalanceado
porque los valores se
agregaron en el siguiente
orden:
10, 13, 18, 21, 25, 33, 40
bool ABB::Insertar(int valor)
{
NodoArbol *nuevo, *actual, *anterior;
nuevo = new NodoArbol(valor);
actual = raiz;
anterior = NULL;
while ( actual != NULL )
{
if ( valor == actual -> info ) return 0;
anterior = actual;
actual = (actual->info > valor ? actual->izq : actual->der);
}
if(anterior==NULL)
raiz=nuevo;
else {
if ( anterior -> info > valor )
anterior -> izq = nuevo;
else
anterior -> der = nuevo;
}
return 1;
}
Implementación....
Busca el Nodo Padre.
Al final, Anterior será el
padre del nuevo nodo.
Agrega el nodo como
nodo hoja.
Si Anterior es igual a
NULL quiere decir que
el árbol está vacío por
lo que el nodo a agregar
será la raíz.
Proceso para eliminar un nodo
• Si el nodo a eliminar es un:
– Nodo hoja
• Buscar el Nodo Padre del nodo a borrar.
• Desconectarlo.
• Liberar el nodo.
– Nodo con un hijo
• Buscar el Nodo Padre del nodo a borrar.
• Conectar el hijo con el padre del nodo a borrar.
• Liberar el nodo.
– Nodo con dos hijos
• Localizar el nodo predecesor o sucesor del nodo a borrar.
• Copiar la información.
• Eliminar el predecesor o sucesor según sea el caso.
Caso: Eliminar Nodo hoja
13
21
10 18 25 40
33
Nodo Padre
localizado
13
21
10 18 25
40
33
Desconectarlo y
liberar el nodo
Paso
1
Paso
2
Eliminar el valor 25
Caso: Eliminar Nodo con un hijo
13
21
10 18 25 40
33
Nodo Padre
localizado
13
21
10 18
25
40
33
Conectar el Nodo
Padre con el Nodo
Hijo y liberar el
nodo.
Paso
1
Paso
2
Eliminar el valor 25
29
27 30
29
27 30
Caso: Eliminar nodo con dos hijos
1. Localizar el nodo predecesor o sucesor del
nodo a borrar.
– El PREDECESOR es “el Mayor de los Menores”.
– El SUCESOR es “el Menor de los Mayores”.
– Para la implementación es igual de eficiente
programar la búsqueda del predecesor que del
sucesor.
1. El valor del Predecedor (o sucesor) se copia al
nodo a borrar.
2. Eliminar el nodo del predecesor (o sucesor
según sea el caso).
Predecesor
13
21
10 25 40
33
29
27 30
El predecesor de: Es:
33 30
21 13
29 27
Uno a la IZQUIERDA y todo a la DERECHA
Sucesor
13
21
10 18 25 40
33
29
27 30
El sucesor de: Es:
21 25
33 40
29 30
Uno a la DERECHA y todo a la IZQUIERDA
Implementación del....
P = actual -> izq;
while( p -> der != NULL)
p=p->der;
return p;
P = actual -> der;
While (p -> izq != NULL )
p=p->izq;
return p;
PREDECESOR
SUCESOR
actual apunta al nodo a borrar
Caso: Eliminar Nodo con dos hijos
13
21
10 18 25
40
33
Localizar el valor a
borrar
Paso
1
Eliminar el valor 21
utilizando el predecesor
13
21
10 18 25
40
33
Localizar el Predecesor
Paso
2
13
18
10 18 25
40
33
Copiar el valor del
Predecesor al nodo que
contenía el valor a borrar
Paso
3
13
18
10 18 25 40
33
Desconectar y liberar el
nodo del Predecesor
Paso
4
Eliminar el valor 21
utilizando el Sucesor
Caso: Eliminar Nodo con dos hijos
13
21
10 18 25
40
33
Localizar el valor a
borrar
Paso
1
13
21
10 18 25
40
33
Localizar el Sucesor
Paso
2
13
25
10 18 25
40
33
Copiar el valor del
Sucesor al nodo que
contenía el valor a borrar
Paso
3
13
18
10 18 25 40
33
Desconectar y liberar el
nodo del Sucesor
Paso
4

Más contenido relacionado

La actualidad más candente

Register transfer and micro operation
Register transfer and micro operationRegister transfer and micro operation
Register transfer and micro operationKamal Acharya
 
CS304PC:Computer Organization and Architecture Session 11 general register or...
CS304PC:Computer Organization and Architecture Session 11 general register or...CS304PC:Computer Organization and Architecture Session 11 general register or...
CS304PC:Computer Organization and Architecture Session 11 general register or...Asst.prof M.Gokilavani
 
Deque and its applications
Deque and its applicationsDeque and its applications
Deque and its applicationsJsaddam Hussain
 
Polish Notation In Data Structure
Polish Notation In Data StructurePolish Notation In Data Structure
Polish Notation In Data StructureMeghaj Mallick
 
Unit 3 – assembly language programming
Unit 3 – assembly language programmingUnit 3 – assembly language programming
Unit 3 – assembly language programmingKartik Sharma
 
8085 microprocessor
8085 microprocessor8085 microprocessor
8085 microprocessorAnuja Gunale
 
Binary search tree operations
Binary search tree operationsBinary search tree operations
Binary search tree operationsKamran Zafar
 
Insertion in singly linked list
Insertion in singly linked listInsertion in singly linked list
Insertion in singly linked listKeval Bhogayata
 
linked list in data structure
linked list in data structure linked list in data structure
linked list in data structure shameen khan
 
Stack application
Stack applicationStack application
Stack applicationStudent
 
Project on stack Data structure
Project on stack Data structureProject on stack Data structure
Project on stack Data structureSoham Nanekar
 

La actualidad más candente (20)

Register transfer and micro operation
Register transfer and micro operationRegister transfer and micro operation
Register transfer and micro operation
 
CS304PC:Computer Organization and Architecture Session 11 general register or...
CS304PC:Computer Organization and Architecture Session 11 general register or...CS304PC:Computer Organization and Architecture Session 11 general register or...
CS304PC:Computer Organization and Architecture Session 11 general register or...
 
Deque and its applications
Deque and its applicationsDeque and its applications
Deque and its applications
 
Polish Notation In Data Structure
Polish Notation In Data StructurePolish Notation In Data Structure
Polish Notation In Data Structure
 
Unit 3 – assembly language programming
Unit 3 – assembly language programmingUnit 3 – assembly language programming
Unit 3 – assembly language programming
 
8085 microprocessor
8085 microprocessor8085 microprocessor
8085 microprocessor
 
SRAM DRAM
SRAM DRAMSRAM DRAM
SRAM DRAM
 
Binary search tree operations
Binary search tree operationsBinary search tree operations
Binary search tree operations
 
Insertion in singly linked list
Insertion in singly linked listInsertion in singly linked list
Insertion in singly linked list
 
linked list in data structure
linked list in data structure linked list in data structure
linked list in data structure
 
Stack application
Stack applicationStack application
Stack application
 
Linked list
Linked listLinked list
Linked list
 
Stacks and Queue - Data Structures
Stacks and Queue - Data StructuresStacks and Queue - Data Structures
Stacks and Queue - Data Structures
 
Graphs
GraphsGraphs
Graphs
 
Data Structure (Tree)
Data Structure (Tree)Data Structure (Tree)
Data Structure (Tree)
 
Binary search tree(bst)
Binary search tree(bst)Binary search tree(bst)
Binary search tree(bst)
 
Interrupts of microprocessor 8085
Interrupts of microprocessor 8085Interrupts of microprocessor 8085
Interrupts of microprocessor 8085
 
Stack and queue
Stack and queueStack and queue
Stack and queue
 
Sorting Algorithms
Sorting AlgorithmsSorting Algorithms
Sorting Algorithms
 
Project on stack Data structure
Project on stack Data structureProject on stack Data structure
Project on stack Data structure
 

Similar a 1 árbol (20)

Abinariosbusqueda
AbinariosbusquedaAbinariosbusqueda
Abinariosbusqueda
 
04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
áRboles binarios
áRboles binariosáRboles binarios
áRboles binarios
 
Arboles02
Arboles02Arboles02
Arboles02
 
Arboles
Arboles Arboles
Arboles
 
Arboles ppt
Arboles pptArboles ppt
Arboles ppt
 
12. Arboles.ppt
12. Arboles.ppt12. Arboles.ppt
12. Arboles.ppt
 
Arboles
ArbolesArboles
Arboles
 
ARBOLES
ARBOLESARBOLES
ARBOLES
 
Arboles.pdf
Arboles.pdfArboles.pdf
Arboles.pdf
 
Arboles
ArbolesArboles
Arboles
 
Presentación Árbol Binario
Presentación Árbol BinarioPresentación Árbol Binario
Presentación Árbol Binario
 
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
 
GRAFOS
GRAFOSGRAFOS
GRAFOS
 
Arbol b ASIRB
Arbol b ASIRBArbol b ASIRB
Arbol b ASIRB
 
Árboles Rojo - Negro
Árboles Rojo - NegroÁrboles Rojo - Negro
Árboles Rojo - Negro
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
Arboles TDAS
Arboles TDASArboles TDAS
Arboles TDAS
 
Proyecto estructura
Proyecto estructuraProyecto estructura
Proyecto estructura
 

Más de Eliezer Cordova

Más de Eliezer Cordova (20)

Tipos de comunicacion
Tipos de comunicacionTipos de comunicacion
Tipos de comunicacion
 
Presentacion 3
Presentacion 3Presentacion 3
Presentacion 3
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 2
Presentacion 2Presentacion 2
Presentacion 2
 
Presentacion 1
Presentacion 1Presentacion 1
Presentacion 1
 
Introduccion publisher
Introduccion publisherIntroduccion publisher
Introduccion publisher
 
Presentaciones efectivas
Presentaciones efectivasPresentaciones efectivas
Presentaciones efectivas
 
Resolucion de problemas
Resolucion de problemasResolucion de problemas
Resolucion de problemas
 
Programación
ProgramaciónProgramación
Programación
 
Presentacion aula virtual videoconferencia
Presentacion aula virtual videoconferenciaPresentacion aula virtual videoconferencia
Presentacion aula virtual videoconferencia
 
Metodología para la creación de algoritmos 0
Metodología para la creación de algoritmos 0Metodología para la creación de algoritmos 0
Metodología para la creación de algoritmos 0
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.ppt
 
Presentacion uno
Presentacion unoPresentacion uno
Presentacion uno
 
Intro
IntroIntro
Intro
 
3 estructuras no lineales estáticas y dinámicas
3  estructuras no lineales estáticas y dinámicas3  estructuras no lineales estáticas y dinámicas
3 estructuras no lineales estáticas y dinámicas
 
2 arboles
2 arboles2 arboles
2 arboles
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
3 funciones
3 funciones3 funciones
3 funciones
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
 
1 estructura programa-c
1 estructura programa-c1 estructura programa-c
1 estructura programa-c
 

Último

SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 

Último (20)

SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 

1 árbol

  • 2. Las estructuras dinámicas son las en la ejecución varia el número de elementos y uso de memoria a lo largo del programa) Entre estas tenemos: Lineales (listas enlazadas, pilas y colas) No lineales (arboles binarios y grafos o redes)
  • 3. ¿Qué es un Árbol? • Es una estructura de datos jerárquica. • La relación entre los elementos es de uno a muchos.
  • 4. Terminología • Nodo: Cada elemento en un árbol. • Nodo Raíz: Primer elemento agregado al árbol. B A D E H F K G C Nodo Raíz
  • 5. Más terminología • Nodo Padre: Se le llama así al nodo predecesor de un elemento. • Nodo Hijo: Es el nodo sucesor de un elemento. • Hermanos: Nodos que tienen el mismo nodo padre. B A D E H F K G C Nodo Padre F y G son Nodos Hijos de C F y G son hermanos
  • 6. Más terminología • Nodo Hoja: Aquel nodo que no tiene hijos. B A D E H F K G C D, H, F y K son Nodos Hojas
  • 7. Más terminología • Subárbol: Todos los nodos descendientes por la izquierda o derecha de un nodo. B A D E H F K G C Subárbol derecho de C Subárbol izquierdo de C
  • 8. Altura y Niveles Nivel 0 Nivel 1 Nivel 2 Nivel 3 Altura del árbol = 4 B A D E H F K G C La Altura es la cantidad de niveles.
  • 9. Árbol Binario de Búsqueda (ABB) • Este tipo de árbol permite almacenar información ordenada. • Reglas a cumplir: – Cada nodo del árbol puede tener 0, 1 ó 2 hijos. – Los descendientes izquierdos deben tener un valor menor al padre. – Los descendientes derechos deben tener un valor mayor al padre.
  • 10. Ejemplos de ABB… 13 21 5 18 15 25 40 36 33 21 30 32 43 41 33
  • 11. ¿Por qué no son ABB? 13 21 17 18 15 25 40 22 33 1 5 2 4 6
  • 12. Implementación de un ABB… class NodoArbol { public: int info; NodoArbol *izq, *der; NodoArbol( ); NodoArbol(int dato); }; NodoArbol(void) { izq = der = NULL; } NodoArbol(int dato) { info = dato; izq = der = NULL; }
  • 13. Continuación… class ABB { private: NodoArbol *raiz; public: ABB( ); // constructor ~ABB( ); // destructor //otros métodos };
  • 14. Proceso para buscar un nodo... 13 21 10 18 25 40 33 ¿El 25 es mayor o menor que el 21? Buscar el 25 13 21 10 18 25 40 33 ¿El 25 es mayor o menor que el 33? 13 21 10 18 25 40 33 Encontrad o Paso 1 Paso 2 Paso 3
  • 15. Implementación de la búsqueda ... p=raiz; while (p != NULL) { if (p->info == valor) return p; else p=(p->info > valor? p->izq: p->der); } return NULL; … P contiene la dirección del nodo que tiene el valor buscado No se encontró el valor por lo que se regresa un NULL Equivalente a: if ( p -> info > valor ) p = p -> izq; else p = p-> der;
  • 16. Proceso para agregar nodos... • Reglas: – El valor a insertar no existe en el árbol. – El nuevo nodo será un Nodo Hoja del árbol. • Procedimiento 1. Buscar el Nodo Padre del nodo a agregar. 2. Agregar el nodo hoja.
  • 17. Ejemplo 13 21 10 18 25 40 33 ¿El 26 es mayor o menor que el 21? Agregar el valor 26 13 21 10 18 25 40 33 ¿El 26 es mayor o menor que el 33? 13 21 10 18 25 40 33 Se encontró el Nodo Padre Paso 1 Paso 2 Paso 3 13 21 10 18 25 40 33 Agregar el nodo Paso 4 26
  • 18. Comentarios importantes.... • El orden de inserción de los datos, determina la forma del ABB. • ¿Qué pasará si se insertan los datos en forma ordenada? • La forma del ABB determina la eficiencia del proceso de búsqueda. • Entre menos altura tenga el ABB, más balanceado estará, y más eficiente será. 13 10 18 21 25 Este árbol está desbalanceado porque los valores se agregaron en el siguiente orden: 10, 13, 18, 21, 25, 33, 40
  • 19. bool ABB::Insertar(int valor) { NodoArbol *nuevo, *actual, *anterior; nuevo = new NodoArbol(valor); actual = raiz; anterior = NULL; while ( actual != NULL ) { if ( valor == actual -> info ) return 0; anterior = actual; actual = (actual->info > valor ? actual->izq : actual->der); } if(anterior==NULL) raiz=nuevo; else { if ( anterior -> info > valor ) anterior -> izq = nuevo; else anterior -> der = nuevo; } return 1; } Implementación.... Busca el Nodo Padre. Al final, Anterior será el padre del nuevo nodo. Agrega el nodo como nodo hoja. Si Anterior es igual a NULL quiere decir que el árbol está vacío por lo que el nodo a agregar será la raíz.
  • 20. Proceso para eliminar un nodo • Si el nodo a eliminar es un: – Nodo hoja • Buscar el Nodo Padre del nodo a borrar. • Desconectarlo. • Liberar el nodo. – Nodo con un hijo • Buscar el Nodo Padre del nodo a borrar. • Conectar el hijo con el padre del nodo a borrar. • Liberar el nodo. – Nodo con dos hijos • Localizar el nodo predecesor o sucesor del nodo a borrar. • Copiar la información. • Eliminar el predecesor o sucesor según sea el caso.
  • 21. Caso: Eliminar Nodo hoja 13 21 10 18 25 40 33 Nodo Padre localizado 13 21 10 18 25 40 33 Desconectarlo y liberar el nodo Paso 1 Paso 2 Eliminar el valor 25
  • 22. Caso: Eliminar Nodo con un hijo 13 21 10 18 25 40 33 Nodo Padre localizado 13 21 10 18 25 40 33 Conectar el Nodo Padre con el Nodo Hijo y liberar el nodo. Paso 1 Paso 2 Eliminar el valor 25 29 27 30 29 27 30
  • 23. Caso: Eliminar nodo con dos hijos 1. Localizar el nodo predecesor o sucesor del nodo a borrar. – El PREDECESOR es “el Mayor de los Menores”. – El SUCESOR es “el Menor de los Mayores”. – Para la implementación es igual de eficiente programar la búsqueda del predecesor que del sucesor. 1. El valor del Predecedor (o sucesor) se copia al nodo a borrar. 2. Eliminar el nodo del predecesor (o sucesor según sea el caso).
  • 24. Predecesor 13 21 10 25 40 33 29 27 30 El predecesor de: Es: 33 30 21 13 29 27 Uno a la IZQUIERDA y todo a la DERECHA
  • 25. Sucesor 13 21 10 18 25 40 33 29 27 30 El sucesor de: Es: 21 25 33 40 29 30 Uno a la DERECHA y todo a la IZQUIERDA
  • 26. Implementación del.... P = actual -> izq; while( p -> der != NULL) p=p->der; return p; P = actual -> der; While (p -> izq != NULL ) p=p->izq; return p; PREDECESOR SUCESOR actual apunta al nodo a borrar
  • 27. Caso: Eliminar Nodo con dos hijos 13 21 10 18 25 40 33 Localizar el valor a borrar Paso 1 Eliminar el valor 21 utilizando el predecesor 13 21 10 18 25 40 33 Localizar el Predecesor Paso 2 13 18 10 18 25 40 33 Copiar el valor del Predecesor al nodo que contenía el valor a borrar Paso 3 13 18 10 18 25 40 33 Desconectar y liberar el nodo del Predecesor Paso 4
  • 28. Eliminar el valor 21 utilizando el Sucesor Caso: Eliminar Nodo con dos hijos 13 21 10 18 25 40 33 Localizar el valor a borrar Paso 1 13 21 10 18 25 40 33 Localizar el Sucesor Paso 2 13 25 10 18 25 40 33 Copiar el valor del Sucesor al nodo que contenía el valor a borrar Paso 3 13 18 10 18 25 40 33 Desconectar y liberar el nodo del Sucesor Paso 4