Skip to content

Commit d9cbe9a

Browse files
committed
Discretas
1 parent 2159575 commit d9cbe9a

24 files changed

+192
-0
lines changed

learn/Matematicas/discretas/README.md

+192
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,17 @@
3535
- [Matriz de adyacencia](#matriz-de-adyacencia)
3636
- [Matriz de incidencia](#matriz-de-incidencia)
3737
- [Ejercicio con matrices](#ejercicio-con-matrices)
38+
- [Arboles](#arboles)
39+
- [Tipos de árboles:](#tipos-de-árboles)
40+
- [Sub árboles, vértices terminales e internos](#sub-árboles-vértices-terminales-e-internos)
41+
- [Árbol de expansión mínimo](#árbol-de-expansión-mínimo)
42+
- [Árbol binario](#árbol-binario)
43+
- [Recorrido de árboles](#recorrido-de-árboles)
44+
- [Expresiones aritméticas](#expresiones-aritméticas)
45+
- [Ejercicio](#ejercicio)
46+
- [Ejercicio 2](#ejercicio-2)
47+
- [Algoritmos](#algoritmos)
48+
- [Algoritmo de Prim](#algoritmo-de-prim)
3849

3950
# Lógica
4051
## ¿Qué es la lógica?
@@ -501,3 +512,184 @@ Grafo resultante
501512
<img src="img/57.png">
502513
</div>
503514

515+
# Arboles
516+
517+
Los árboles son un tipo de gráfica que tiene muchas aplicaciones en **Machine Learning, Ciencias de la computación y en la programación.** Un árbol representa una **estructura de datos**.
518+
519+
<div align="center">
520+
<img src="img/58.png">
521+
</div>
522+
523+
**Los Árboles nos permiten organizar o estructurar información.** Si tenemos un nodo A y un nodo B, solo existirá una conexión entre ellos.
524+
525+
<div align="center">
526+
<img src="img/59.png">
527+
</div>
528+
529+
Los árboles son usados frecuentemente para expresar **relaciones de jerarquía.**
530+
531+
<div align="center">
532+
<img src="img/60.png">
533+
</div>
534+
535+
<div align="center">
536+
<img src="img/61.png">
537+
</div>
538+
539+
## Tipos de árboles:
540+
541+
* **Libre:** no es claro cual es el nodo principal o nodo raíz dentro de este árbol.
542+
543+
<div align="center">
544+
<img src="img/62.png">
545+
</div>
546+
547+
548+
* **Raíz:** se ve una estructura clara de los nodos. Todos parten de un mismo nodo.
549+
550+
<div align="center">
551+
<img src="img/63.png">
552+
</div>
553+
554+
* **Expansión:** es similar al grafo empoderado, la conexión entre los nodos tiene un recurso asociado.
555+
556+
<div align="center">
557+
<img src="img/64.png">
558+
</div>
559+
560+
* **Binario:** en cada uno de los niveles del árbol se tiene un máximo de dos conexiones.
561+
562+
<div align="center">
563+
<img src="img/65.png">
564+
</div>
565+
566+
567+
Dentro de los árboles **existe el nivel y la altura**, los valores de estos cambiaran dependiendo del nodo que tomes como raíz.
568+
569+
* El nivel de un árbol es igual al **máximo nivel posible de un nodo**, el nivel de un nodo se define por el número de conexiones entre el nodo y la raíz más uno.
570+
* **La altura de un árbol es igual al nivel del árbol más el nivel raíz**.
571+
572+
<div align="center">
573+
<img src="img/66.png">
574+
</div>
575+
576+
## Sub árboles, vértices terminales e internos
577+
578+
Un **subárbol** es una parte de un árbol que hace parte de un árbol más grande.
579+
580+
Un **vértice terminal** es aquel nodo que ya no tiene más hijos o donde el árbol ya no se expande.
581+
582+
Por otro lado, los **vértices internos** son aquellos que tienen hijos.
583+
584+
<div align="center">
585+
<img src="img/67.png">
586+
</div>
587+
588+
## Árbol de expansión mínimo
589+
590+
Un árbol de expansión mínimo es aquel árbol que **partiendo de una raíz** pueda **conectar todos los vértices buscando los caminos de menor costo.**
591+
592+
Para sacar el costo mínimo del árbol solo basta con ir sumando el valor que tiene cada conexión nivel por nivel, luego sumar todos los niveles.
593+
594+
<div align="center">
595+
<img src="img/68.png">
596+
</div>
597+
598+
## Árbol binario
599+
600+
Un árbol binario **es aquel donde tenemos un máximo de dos hijos** por cada uno de los vértices.
601+
602+
<div align="center">
603+
<img src="img/69.png">
604+
</div>
605+
606+
Existen dos tipos de arboles binarios:
607+
608+
* El **árbol binario completo** donde cada uno de los vértices tiene sus dos ramas bien definidas o no tiene ninguna.
609+
* El **árbol binario lleno** es aquel donde todos los nodos **llegan a un mismo punto y al final todas sus ramas son terminales.**
610+
611+
<div align="center">
612+
<img src="img/70.png">
613+
</div>
614+
615+
El árbol degenerado es donde la mayoría de sus nodos tienen solo un hijo.
616+
617+
<div align="center">
618+
<img src="img/71.png">
619+
</div>
620+
621+
> Un árbol binario es una estructura recursiva pues puede llamarse a si misma, puedes descomponerlo en partes más pequeñas.
622+
623+
<div align="center">
624+
<img src="img/72.png">
625+
</div>
626+
627+
## Recorrido de árboles
628+
629+
<div align="center">
630+
<img src="img/73.png">
631+
</div>
632+
633+
Al momento de representar un árbol debemos elegir **el orden en el cual vamos a recorrer dicho árbol.** Dependiendo de qué orden se elija será la forma en que se va a representar el árbol.
634+
635+
Existen tres formas de recorrer un árbol:
636+
637+
* **Pre orden**: se inicia leyendo el nodo raíz, luego se pasa al hijo izquierdo y por ultimo al derecho.
638+
* **In orden**: inicia leyendo el hijo izquierdo, luego la raíz y por último el hijo derecho.
639+
* **Pos orden**: comienza por el hijo izquierdo para posteriormente ir al hijo derecho y por último al nodo raíz.
640+
641+
<div align="center">
642+
<img src="img/74.png">
643+
</div>
644+
645+
## Expresiones aritméticas
646+
647+
Los árboles también nos sirven para **representar expresiones aritméticas**, para ello debe cumplir con las siguientes condiciones:
648+
649+
* Los vértices terminales son operandos.
650+
* Los vértices internos son operadores.
651+
* La raíz siempre debe ser un operador.
652+
653+
Así como vimos las diferentes formas para recorrer un árbol, las expresiones aritméticas tienen también sus propias formas:
654+
655+
* **Pre fijo**: raíz-izquierda-derecha
656+
* **In fijo**: izquierda-raíz-derecha
657+
* **Pos fijo**: izquierda-derecha-raíz
658+
659+
<div align="center">
660+
<img src="img/75.png">
661+
</div>
662+
663+
### Ejercicio
664+
665+
<div align="center">
666+
<img src="img/76.png">
667+
</div>
668+
669+
<div align="center">
670+
<img src="img/77.png">
671+
</div>
672+
673+
### Ejercicio 2
674+
675+
<div align="center">
676+
<img src="img/78.png">
677+
</div>
678+
679+
<div align="center">
680+
<img src="img/79.png">
681+
</div>
682+
683+
# Algoritmos
684+
685+
> Un algoritmo es una serie de pasos que nosotros seguiremos de acuerdo con una lógica.
686+
687+
## Algoritmo de Prim
688+
689+
El algoritmo de Prim **nos sirve para conectar todos los vértices a través de un árbol con el mínimo coste.** Para calcular el coste total del árbol debemos sumar el valor de todas las aristas conectadas.
690+
691+
El algoritmo de Prim nos indica que este se **termina cuando hemos conectado todos los vértices con n-1 aristas**, donde n es el número de vértices.
692+
693+
<div align="center">
694+
<img src="img/80.png">
695+
</div>
71.3 KB
Loading
47.1 KB
Loading
38 KB
Loading
44.7 KB
Loading
22.9 KB
Loading
23.1 KB
Loading
28.2 KB
Loading
18 KB
Loading
161 KB
Loading
124 KB
Loading
139 KB
Loading
45.1 KB
Loading
67.3 KB
Loading
18.6 KB
Loading
124 KB
Loading
61.7 KB
Loading
220 KB
Loading
77 KB
Loading
77.2 KB
Loading
167 KB
Loading
145 KB
Loading
67.9 KB
Loading
107 KB
Loading

0 commit comments

Comments
 (0)