Anda di halaman 1dari 47

INSTITUTO TECNOLÓGICO SUPERIOR

PRIMERO DE MAYO
TECNOLOGÍA SUPERIOR EN DESARROLLO DE
SOFTWARE

ASIGNATURA:
MATEMÁTICA DISCRETA
CICLO:
PRIMERO
DOCENTE:
DIEGO VICENTE GUAMÁN JIMA

NOVIEMBRE 2018 – ABRIL 2019


YANTZAZA – ZAMORA CHINCHIPE
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Contenidos
1. PRIMERA UNIDAD: TEORÍA DE CONJUNTOS, TIPOS DE NÚMEROS Y NÚMEROS REALES -
FUNCIONES ................................................................................................................................... 4
1.1. CONJUNTOS .................................................................................................................. 4
1.1.1. Definiciones básicas de conjuntos ........................................................................... 4
1.1.2. Determinación de conjuntos .................................................................................... 6
1.1.3. Diagrama de Venn .................................................................................................... 7
1.1.4. Operaciones con conjuntos ...................................................................................... 8
1.1.5. Propiedades ............................................................................................................ 12
1.2. SISTEMA DE NUMERACIÓN ........................................................................................ 12
1.2.1. Decimal ................................................................................................................... 12
1.2.2. Binario ..................................................................................................................... 13
1.2.3. Octal ........................................................................................................................ 13
1.2.4. Hexadecimal ........................................................................................................... 14
1.2.5. Conversión entre sistemas de numeración ........................................................... 14
2. UNIDAD 2: LÓGICA PROPOSICIONAL ................................................................................. 19
2.1. Proposiciones y operadores lógicos ........................................................................... 19
2.1.1. Leyes del algebra proposicional ............................................................................. 19
2.1.2. Lógica matemática – tablas de verdad .................................................................. 21
1.1.1. Clasificación ............................................................................................................ 21
1.1.2. Operadores lógicos ................................................................................................. 22
1.1.3. Operadores lógicos en Programación .................................................................... 24
1.1.4. Tautología – Contingencia – Contradicción ........................................................... 25
1.2. RAZONAMIENTO LÓGICO ........................................................................................... 27
1.2.1. Inferencia lógica...................................................................................................... 27
1.2.2. Sucesiones............................................................................................................... 28
3. UNIDAD 3: ALGEBRA BOOLEANA ....................................................................................... 29
3.1. Conceptos básicos...................................................................................................... 29
3.1.1. Definición.- .......................................................................................................... 29
3.1.2. Propiedades ..................................................................................................... 29
3.2. Teorema del algebra de Boole ................................................................................... 30
3.3. Operaciones básicas ................................................................................................... 31
3.3.1. Suma lógica ......................................................................................................... 31
3.3.2. Producto lógico ................................................................................................... 31
3.3.3. Complementacion o inversión lógica ................................................................. 32
3.4. Representación de funciones lógicas ......................................................................... 32

2
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

3.4.1. Mapas de Karnaugh ................................................................................................ 33


3.4.2. Compuertas lógicas................................................................................................. 33
3.5. Compuertas lógicas .................................................................................................... 33
3.5.1. Compuerta OR .................................................................................................... 33
3.5.2. Compuerta AND .................................................................................................. 34
3.5.3. Compuerta NOT .................................................................................................. 34
3.5.4. Compuerta XOR .................................................................................................. 35
3.5.5. Compuerta NAND ............................................................................................... 35
3.5.6. Compuerta NOR .................................................................................................. 36
4. UNIDAD 4: ARBOLES Y GRAFOS.......................................................................................... 36
4.1. Grafos – definiciones básicas ......................................................................................... 36
4.2. Algoritmo de la ruta más corta .................................................................................. 37
4.3. Redes de flujo de grafos. ............................................................................................ 38
4.4. Clasificación de Grafos: .............................................................................................. 38
4.5. Árboles definiciones básicas .......................................................................................... 41
4.6. Árboles binarios y n-arios............................................................................................... 43
4.7. Recorridos por árboles ......................................................................................... 46

3
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

1. PRIMERA UNIDAD: TEORÍA DE CONJUNTOS, TIPOS DE


NÚMEROS Y NÚMEROS REALES - FUNCIONES
1.1. CONJUNTOS
Este capítulo tiene como finalidad presentar y analizar los fundamentos básicos
para el desarrollo y la aplicación de las matemáticas discretas. En esta sección
abordamos las nociones básicas de la teoría de conjuntos, la cual ha permitido,
en gran medida, la formalización y el desarrollo de las matemáticas.

1.1.1. Definiciones básicas de conjuntos


 Definicion.-

Definimos intuitivamente un conjunto como una colección bien definida de


elementos. Se denomina a estos elementos objetos y se dice que son miembros
del conjunto.

El adjetivo “bien definido” implica que cualquiera que sea el objeto considerado,
se pueda determinar si está o no en el conjunto que se analiza.

Se utilizan letras mayúsculas, como A, B, C,..., para representar conjuntos, y


letras minúsculas para representar los elementos

Dado un conjunto A

Se escribe x ∈A si x es un elemento de A; y

∉ A indica que y no pertenece a A.

 Especificación de conjuntos.-

Por otra parte, hay dos maneras comunes de especificar un conjunto dado. La
primera es mediante la presentación de un listado de sus elementos entre llaves;
por ejemplo, si A consiste de todas las letras del alfabeto español, entonces A
puede presentarse en la forma:

A = {a, b, c, …….., z} (descripción extensional)

La segunda forma de presentar un conjunto es especificando una regla que


establece la propiedad o propiedades que un objeto debe satisfacer para ser

4
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

considerado como un miembro del conjunto. Si se utiliza esta notación, el


conjunto A puede ser presentado en la forma:

A {a, t · q · a es una letra del alfabeto español} (descripcion intencional)

Y se lee: “A es el conjunto de todos los elementos a, tales que a es una letra del
alfabeto español”. La notación que se usa para especificar que un objeto a es un
elemento de un conjunto A es:

a∈A

Y se lee: “a es un elemento de A” o, en forma alternativa, “a pertenece a A”. Por


otro lado, si el objeto a no es un elemento del conjunto A, entonces se escribe:

A∉A

Y se lee: “a no es un elemento de A” o, en forma alternativa, “a no pertenece a


A”. Por ejemplo, si A ={α,β,ϒ,δ }, se tiene que ϒ∈ A, pero θ ∉ A.

De acuerdo con el concepto de conjunto definido antes, resulta claro que para
que un conjunto A sea igual a un conjunto B, lo cual se denota por AB, ambos
deben tener exactamente los mismos elementos.

 Ejemplos:

1.- Sean A, B, C los siguientes conjuntos:

A {1, 2, 3, 4}

B {1, 2, 3, 4, 5}

C {1, 3, 5, 2, 4}

Entonces, como B y C tienen exactamente los mismos elementos (aunque, en


este caso, en orden distinto) B = C , pero A≠ B y A≠ C, ya que 5∉A y 5 ∉ C, pero
5∈ B.

Como se puede notar en el ejemplo anterior, todos los elementos de A


pertenecen al conjunto B; es decir, todo el conjunto A está contenido en B. Esto
formalmente se dice que A es un subconjunto de B y se denota por A ⊆ B si cada
elemento de un conjunto A es también un elemento del conjunto B. En caso de
que A no sea subconjunto de B, se escribe A ⊊ B.

5
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

A partir de esta definición, se puede ver que A= B si y solo si A ⊆ B y B ⊆ A.

2.- De acuerdo con los conjuntos A, B y C del ejemplo anterior, es fácil ver que
A ⊆ C. Además, B ⊆ Cy C⊆B; por tanto, B =C. Si D {1, 3, 5, 7}, entonces D ⊊ A
y A ⊊ D.

Es común utilizar la notación A ⊂ B para el caso en que A⊆ B, pero A≠ B;


entonces, se dice que A es subconjunto propio de B.

3.- Si a={α,β,ϒ,δ } y B={δ,ε, θ,ρ} se tiene que A ⊆ B

NOTA: El conjunto que no contiene elementos se conoce como conjunto vacío y


se denota por Ø o { }. El conjunto vacío, Ø , a su vez, es subconjunto de cada
conjunto A. Para ver esto, solo basta observar que Ø no tiene elementos y, por
tanto, no contiene elementos que no estén en A, es decir Ø ⊆ A.

Como contraparte del conjunto vacío, se tiene otro extremo, “el más grande”, que
se denomina conjunto universo. Un conjunto universo (o conjunto universal) es
el conjunto de todos los elementos de interés en una discusión particular.

1.1.2. Determinación de conjuntos


Un conjunto se puede determinar de dos maneras: Por extensión y por
comprensión.

 Extensión.-

Un conjunto está determinado por extensión cuando se escriben uno a uno todos
sus elementos.

Ejm. - El conjunto de los números naturales menores que 9.

A=[1,2,3,4,5,6,7,8]

 Comprensión.-

Un conjunto está determinado por comprensión cuando solamente se menciona


una característica común de todos los elementos.

Ejm. - El conjunto formado por las letras vocales del abecedario.

B=[x/x es una vocal]

6
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

1.1.3. Diagrama de Venn


Un Diagrama de Venn es una representación gráfica, normalmente óvalos o
círculos, que nos muestra las relaciones existentes entre los conjuntos. Cada
óvalo o círculo es un conjunto diferente. La forma en que esos círculos se
sobreponen entre sí muestra todas las posibles relaciones lógicas entre los
conjuntos que representan.

Por ejemplo, cuando los círculos se superponen, indican la existencia de


subconjuntos con algunas características comunes.

Tenemos:

En la zona rosa (a) están los cuadrados.


En la zona azul (b) están las figuras verdes.
En la zona amarilla (inter) están los cuadrados que son verdes.
7
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

1.1.4. Operaciones con conjuntos


Así como los números se pueden sumar, restar, multiplicar o dividir, entre otras
operaciones, para obtener nuevos números también se tienen diversas
operaciones que se pueden realizar con conjuntos dados para obtener nuevos
conjuntos. En esta sección se ilustran algunas de estas.

 Unión.-

Definicion 1: La unión de dos conjuntos A y B es el conjunto formado con todos


los elementos que están en A y/o en B, y se denota por A ∪ B.
Definición 2: La unión de dos conjuntos A y B, que se escribe A U B, se define
como el conjunto formado por los elementos comunes y no comunes a ambos
conjuntos.

Esto se simboliza de la siguiente forma:


A ∪ B {x t · q · x ∈ A o x ∈ B o x está en ambos}

Las uniones las podemos representar en diagramas de venn de la siguiente


forma
a) Cuando los dos conjuntos tienen elementos en común la unión se
representa de la siguiente forma:

b) Cuando los conjuntos no tienen elementos en común, la unión se


representa:

8
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

c) Cuando todos los elementos de A pertenecen a B, la union se


representa:

Ejemplo:

1.- Sean: A= {2, 4, 6, 8, 10} y B= { 1, 2 ,3 ,4 ,5 }, realizar A ∪ B:

A ∪ B = {1,2,3,4,5,6,8,10}

 Intersección.-

La intersección de dos conjuntos A y B es el conjunto formado con todos los


elementos que están tanto en A como en B, y se denota por A ∩ B. Esto se
simboliza de la siguiente forma:

A∩B= {x t • q • x∩A y x ∩B}

Las intersecciones las podemos representar en diagramas de venn de la


siguiente forma:
a) Cuando los dos conjuntos tienen elementos en común la intersección se
representa de la siguiente forma:

9
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

b) Cuando los conjuntos no tienen elementos en común, la intersección es


igual a conjunto vacío (ᴓ) y se representa:

c) Cuando todos los elementos de A pertenecen a B la unión es igual a A,


y se representa:

Ejemplo:

Sean: A= {2, 4, 6, 8, 10} y B= { 1, 2 ,3 ,4 ,5 }, realizar A∩ B:

A∩ B={2,4}

 Diferencia.-

La diferencia de conjuntos A B es el conjunto de todos los elementos de A que


no están en B, en símbolos:

10
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

A-B={x t • q • x-A y x-B}.

Ejemplo:

Sean: A= {2, 4, 6, 8, 10} y B= { 1, 2 ,3 ,4 ,5 }, realizar A -- B:

A—B={ 6, 8,10}

DIFERENCIA SIMÉTRICA

11
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

1.1.5. Propiedades
Las siguientes propiedades rigen las operaciones en conjuntos. Sea U un
conjunto universo. Si A, B y C son subconjuntos arbitrarios de U, entonces:

1.2. SISTEMA DE NUMERACIÓN


Un sistema de numeración es el conjunto de símbolos y reglas que se utilizan
para la representación de datos numéricos o cantidades. Un sistema de
numeración se caracteriza por su base, que es el número de símbolos distintos
que utiliza y además es el coeficiente que determina cuál es el valor de cada
símbolo dependiendo de la posición que ocupe.

1.2.1. Decimal
El hombre, desde hace tiempo ha utilizado como sistema para contar el sistema

decimal, que derivó del sistema indo arábigo, posiblemente se adoptó este
sistema por contar con 10 dedos en las manos.

El sistema decimal utiliza un conjunto de símbolos, cuyo significado depende

de su posición relativa al punto decimal, que en caso de ausencia se supone


colocado implícitamente a la derecha.

El hombre ha utilizado el sistema numérico decimal, basado en diez símbolos (0,


1, 2, 3, 4, 5, 6, 7, 8, 9), que, al combinarlos, permiten representar las cantidades
imaginadas; es por esto que se dice que utiliza la base 10.

12
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

1.2.2. Binario
Este sistema de base 2 es el más sencillo de todos por poseer sólo dos dígitos,
fue introducido por Leibniz en el Siglo XVII, es el sistema que internamente
utilizan los circuitos digitales que configuran el hardware de las computadoras
actuales.

Los dos dígitos, llamados bits (Contracción de binary digit), son el uno (1) y el
cero (0), por lo cual el equivalente decimal se obtendrá al sumar los pesos
correspondientes a los bits 1.

En bit más significativo (MSB) es aquel que se ubica más a la izquierda (el que
tiene mayor valor). El bit menos significativo (LSB) es aquel que está más a la

derecha y que tiene el menor valor.

Para la medida de unidades de información representada en binario, se utilizan

una serie de múltiplos de bit que poseen nombre propio:

 Nibble o Cuarteto: Es el conjunto de cuatro bits (1001).


 Byte u Octeto: Es el conjunto de ocho bits (10101010).
 Kilobyte (Kb): Es el conjunto de ocho mil bits;
 Megabyte (Mb): Es el conjunto de ocho millones de bits.
 Gigabyte (Gb): Es el conjunto de 8 exp 9 bits
 Terabyte (Tb): Es el conjunto de 8 exp 12 bits;

La razón por la que se utiliza el factor 1.024 en vez de 1.000, es por ser el múltiplo
de 2 más próximo a 1000, cuestión importante desde el punto de vista informático
(210 = 1.024).

1.2.3. Octal
Se trata de un sistema de numeración en base 8 que utiliza 8 símbolos para la
representación de cantidades. Los símbolos utilizados son: 0, 1, 2, 3, 4, 5, 6, 7.

Este sistema también posicional, ya que cada una de sus cifras tiene como
posición la relativa al punto decimal que, en caso de no aparecer se supone
implícita al lado derecho del número, este proporciona un método conveniente
para la representación de códigos y números binarios utilizados en los sistemas
digitales.

13
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

1.2.4. Hexadecimal
El sistema hexadecimal emplea la base 16. Así, tiene 16 posibles símbolos
digitales. Utiliza los dígitos del 0 al 9, más las letras A, B, C, D, E y F como sus
16 símbolos digitales. Cada dígito hexadecimal representa un grupo de cuatro
dígitos binarios. Es importante recordar que los dígitos hex (Abreviatura de
hexadecimal) de A a F son equivalentes a los valores decimales de 10 a 15.

1.2.5. Conversión entre sistemas de numeración


En los sistemas digitales, la información que se está procesando, por lo general,
se presenta en forma binaria.

Desafortunadamente, el sistema numérico decimal no se presta para una


implantación conveniente en sistemas digitales. Por ejemplo, resulta muy difícil
diseñar equipo electrónico para que pueda funcionar con 10 diferentes niveles
de voltaje (para que cada uno representara un carácter decimal, de 0 a 9). Por
Otro lado, es muy fácil diseñar circuitos electrónicos precisos pero simples que
operen con sólo dos niveles de voltaje. Por esta razón, casi todos los sistemas
digitales utilizan el sistema numérico binario (base 2) como base de sus
operaciones, aunque con frecuencia se emplean otros sistemas junto con el
binario.

En el sistema binario, el término dígito binario se abrevia a menudo como bit. El


bit más significativo (MSB) es aquel que se ubica más a la izquierda (el que tiene
el mayor valor). El bit menos significativo (LSB) es aquel que está más a la
derecha y que tiene el menor valor.

 Conversión de decimal a binario

Existen dos maneras de convertir un número decimal a su representación


equivalente en el sistema binario. En el primero el número decimal se expresa
simplemente como una suma de potencias de 2 y luego los unos y los ceros se
escriben en las posiciones adecuadas de bits. Para ilustrar lo anterior,
consideremos el siguiente ejemplo:

4510 = 32 + 8 + 4 + 1 = 25 + 0 +23 + 22 + 0 +20

= 1 0 1 1 0 12

14
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Obsérvese que se coloca un 0 en las posiciones 21 y 24, ya que todas las


posiciones deben tomarse en cuenta.

El segundo método es llamado, Método de las Divisiones Sucesivas entre Dos.


Se trata de dividir sucesivamente el número decimal y los sucesivos cocientes
entre dos (2), hasta que el cociente en una de las divisiones tome el valor cero
(0). La unión de todos los restos obtenidos, escritos en orden inverso, nos
proporciona el número inicial expresado en el sistema binario.

 Conversión de binario a decimal

El sistema de numeración binario es un sistema posicional donde cada dígito


binario (bit) tiene un valor basado en su posición relativa al LSB. Cualquier
número binario puede convertirse a su equivalente decimal, simplemente
sumando en el número binario los valores de las diversas posiciones que
contenga un 1. Para ilustrar lo anterior consideremos el siguiente ejemplo:

Nótese que el procedimiento consiste en determinar los valores (es decir, las
potencias de 2) de cada posición de bit que contenga un 1 y luego sumarlos.
Nótese también que el MSB tiene un valor de 24 a pesar de que es el quinto bit;
esto se debe a que el LSB es el primer bit y tiene un valor de 20

 Conversión de decimal a octal

Igualmente que en la conversión de decimal a binario, por medio del Método de


Divisiones Sucesivas, pero en este caso por ocho (8).
15
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

 Conversión de octal a binario

Para convertir un número octal a binario se sustituye cada dígito octal por sus
correspondientes tres dígitos binarios.

 Conversión de binario a octal

Para convertir un número binario a octal se realiza un proceso inverso al anterior.


Se agrupan los dígitos de 3 en 3 a partir del punto decimal hacia la izquierda y
hacia la derecha, sustituyendo cada trío de dígitos binarios por su equivalente
dígito octal.

16
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

 Conversión de binario a hexadecimal

Se realiza un proceso inverso al anterior. Se agrupan los dígitos binarios de 4 en


4 a partir del punto decimal hacia la izquierda y hacia la derecha, sustituyendo
cada cuarteto por su correspondiente dígito hexadecimal. Agregando ceros
cuando sea necesario para completar un grupo de 4 bits.

 Conversión de octal a hexadecimal

Esta conversión realiza un paso intermedio utilizando el sistema binario. Primero


se convierte el número octal en binario y éste se pasa a hexadecimal.

 Conversión de hexadecimal a octal

Se realiza un paso intermedio utilizando el sistema binario. Se convierte en


binario y éste en octal.

17
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

 Conversión de decimal a hexadecimal

De igual manera, la conversión de decimal a hexadecimal se puede efectuar por


medio de la división repetida por 16.

Siguiendo el mismo método utilizado en las conversiones de decimal a binario y


de decimal a octal.

 Conversión de hexadecimal a binario

Se sustituye cada dígito hexadecimal por su representación binaria con cuatro


dígitos.

18
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

 Conversión de hexadecimal a decimal

Un número hex se puede convertir en su equivalente decimal utilizando el


hecho de que cada posición de los dígitos hex tiene un valor que es una
potencia de 16. El LSD tiene un valor de 160 = 1; el siguiente dígito en
secuencia tiene un valor de 161 = 16; el siguiente tiene un valor de 162 = 256
y así sucesivamente. El proceso de conversión se demuestra en los ejemplos
que siguen:

2. UNIDAD 2: LÓGICA PROPOSICIONAL


La lógica estudia la forma del razonamiento, es una disciplina que por medio de
reglas y técnicas determina si un argumento es válido. La lógica es ampliamente
aplicada en la filosofía, matemáticas, computación, física.

Por tal razón tenemos que dominar una serie de conceptos que nos demuestran
de una manera más clara y sencilla como podemos aplicarlos en nuestra vida
tanto en el campo laboral como en lo personal para resolver diferentes
situaciones que se nos pueden presentar.

2.1. Proposiciones y operadores lógicos


2.1.1. Leyes del algebra proposicional
Una proposición o enunciado es una oración que puede ser falso o verdadero
pero no ambas a la vez. La proposición es un elemento fundamental de la lógica
matemática.

A continuación se tienen algunos ejemplos de proposiciones válidas y no válidas,


y se explica el porqué algunos enunciados no son proposiciones. Las
proposiciones se indican por medio de una letra minúscula, dos puntos y la
proposición propiamente dicha.

Ejemplo.

p: La tierra es plana.

19
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

q: -17 + 38 = 21

r: x > y-9

s: El Morelia será campeón en la presente temporada de Fut-Bol.

t: Hola ¿como estas?

w: Lava el coche por favor.

Los incisos p y q sabemos que pueden tomar un valor de falso o verdadero; por
lo tanto son proposiciones validas. El inciso r también es una proposición valida,
aunque el valor de falso o verdadero depende del valor asignado a las variables
x y y en determinado momento. La proposición del inciso s también esta
perfectamente expresada aunque para decir si es falsa o verdadera se tendría
que esperar a que terminara la temporada de fut-bol. Sin embargo los
enunciados t y w no son válidos, ya que no pueden tomar un valor de falso o
verdadero, uno de ellos es un saludo y el otro es una orden.

LEYES DEL ALGEBRA PROPOSICIONAL

Las leyes de la algebra de proposiciones son equivalencias lógicas que se


pueden demostrar con el desarrollo de las tablas de verdad del bicondicional.
Las leyes del algebra de proposiciones son las siguientes:

2. Indempotencia: Es la propiedad que permite realizar una acción


determinada varias veces y aun así conseguir el mismo resultado que se
obtendrá si se realizase una sola vez.

P∧P=P P∨P=P

Estas cansado o estas cansado = Estás cansado

3. Asociativa:

P∨Q ∨R ⇔ (P∨Q) ∨R ⇔ P∨(Q∨R)

P∧Q ∧R ⇔ (P∧Q) ∧R ⇔ P∧(Q∧R)

4. Conmutativa:

P∧Q⇔ Q∧P P∨Q⇔ Q∨P

20
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

5. Distributiva

P∧(Q∨R)⇔ (P∧Q)∨(P∧R)

P∨(Q∧R)⇔(P∨Q)∧(P∨R)

6. De morgan

¬(P∧Q)⇔ ¬P∨¬Q ¬(P∨Q)⇔¬P∧¬Q

2.1.2. Lógica matemática – tablas de verdad

A diferencia de la programación algorítmica clásica, que estaba centrada en las


funciones, la programación orientada a objetos está centrada en los datos. Una
clase está constituida por unos datos y unos métodos que operan sobre esos
datos.

La tabla de verdad despliega todas las combinaciones de valores de las variables


y el valor asociado de la función.

1.1.1. Clasificación
Aquellas proposiciones que constan o se les puede representar por una sola
variable, se llaman proposiciones simples o atómicas. Por ejemplo:

Sea la proposición "p: 3 + 6 = 9" es una proposición simple o atómica.


Cuando una proposición consta de dos o más enunciados simples, se le llama
proposición compuesta o molecular. Así, por ejemplo:
a) Hace frio y está cayendo nieve
b) Es de noche o está obscuro
c) Tengo miedo y estoy temblando
d) Las rosas son rojas y las violetas azules

21
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

1.1.2. Operadores lógicos


Existen conectores u operadores lógicas que permiten formar proposiciones
compuestas (formadas por varias proposiciones):

Tablas de verdad de cada Operador

22
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

23
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

1.1.3. Operadores lógicos en Programación


Los operadores lógicos nos proporcionan un resultado a partir de que se cumpla
o no una cierta condición. Esto genera una serie de valores que, en los casos
más sencillos, pueden ser parametrizados con los valores numéricos 0 y1, como
se puede apreciar en los ejemplos de abajo. La combinación de dos o más
operadores lógicos conforma una función lógica.

.Los operadores lógicos son:

 && AND (el resultado es verdadero si ambas expresiones son verdaderas)

24
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

 || OR (el resultado es verdadero si alguna expresión es verdadera)


 ! NOT (el resultado invierte la condición de la expresión).

AND y OR trabajan con dos operandos y retornan un valor lógico basadas en las
denominadas tablas de verdad. El operador NOT actúa sobre un operando.Estas
tablas de verdad son conocidas y usadas en el contexto de la vida diaria,por
ejemplo: "si hace sol Y tengo tiempo, iré a la playa", "si NO hace sol, mequedaré
en casa", "si llueve O hace viento, iré al cine". Las tablas de verdad delos
operadores AND, OR y NOT se muestran en las tablas siguientes:

El operador lógico AND

El operador lógico OR

1.1.4. Tautología – Contingencia – Contradicción

Tautología
Tautología, es aquella proposición (compuesta) que es cierta para todos los
valores de verdad de sus variables.

Un ejemplo típico es la contrapositiva cuya tabla de verdad se indica a


continuación.

25
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Note que en las tautologías para todos los valores de verdad el resultado de la
proposición es siempre. Las tautologías son muy importantes en lógica
matemática ya que se consideran leyes en las cuales nos podemos apoyar para
realizar demostraciones.

A continuación me permito citar una lista de las tautologías más conocidas y


reglas de inferencia de mayor uso en las demostraciones formales que
obviamente el autor no consideró.

Contradicción
Es aquella proposición que siempre es falsa para todos los valores de verdad,
una de las mas usadas y mas sencilla es p ˄ p’. Como lo muestra su
correspondiente tabla de verdad.

Contingencia
Un fórmula P es una contingencia si existen algunas valoraciones que son
modelos de P y otras que no lo son.

26
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

1.2. RAZONAMIENTO LÓGICO


1.2.1. Inferencia lógica
La inferencia es la forma en la que obtenemos conclusiones en base a datos y
declaraciones establecidas.

En lógica, especialmente en lógica matemática, una regla de inferencia es un


esquema para construir inferencias válidas. Estos esquemas establecen
relaciones sintácticas entre un conjunto de fórmulas llamados premisas y una
aserción llamada conclusión.

Reglas de Inferencia Deductiva

 MPP Modus ponendo ponens

A→B
A
–––––
B
 MTTModus tollendo tollens

A→B
¬B
–––––
¬A
 SD Silogismo Disyuntivo

A∨B
¬A
–––––
¬B

27
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

 SH Silogismo hipotético

A→B
B→C
–––––
A→C
 LS Ley de simplificación

A∧B
–––––
A
 LA Ley de adición

A
–––––
A∨B
 CONTRA POSITIVA

A→B
–––––
¬B → ¬A

1.2.2. Sucesiones
De manera intuitiva, una sucesión S es una simple lista de objetos llamados
elementos, los cuales forman un conjunto, donde además los elementos están
uno detrás de otro en el orden natural creciente de los números naturales .

Si la sucesión es finita, esta puede terminar después de un cierto número de


términos o puede (en principio, al menos) seguir en forma indefinida; en este
caso, se dice que es infinita. En este sentido, se puede decir que son conjuntos
infinitos contables.

Una sucesión general, es decir una sucesión en la que no se especifican los


términos, puede escribirse como:

x1, x2, x3,…


o algunas veces como:
xn, 1≤n˂ ∞
Si x es una sucesión, entonces se escribe como:
X=(xn)
En un sentido formal, se dice que una sucesión (xn) es una función
S: de una variable n donde dom{S};
es decir, a cada le corresponde un número real xn, el término n-
ésimo de la sucesión.

28
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Una diferencia sustancial entre un conjunto cualquiera y una sucesión es que


en una sucesión se pueden tener términos repetidos.

3. UNIDAD 3: ALGEBRA BOOLEANA


3.1. Conceptos básicos
3.1.1. Definición.-
Álgebra de Boole o álgebra booleana se le denomina a las reglas algebráicas
basadas en la teoría de conjuntos para manejar ecuaciones de lógica
matemática. La lógica matemática trata de proposiciones, elementos de circuitos
de dos estados, etc.; asociados por medio de operadores como Y, O, NO,
EXCEPTO, SI… ENTONCES. Y que por lo tanto permite cálculos y
demostraciones como cualquier parte de las matemáticas. Es llamado así en
honor a George Boole, famoso matemático que la introdujo en 1847.

En otros términos se puede definir el álgebra de Boole como toda clase o


conjunto de elementos que pueden tomar dos valores perfectamente
diferenciados, que son designados por “0” y “1” y que están relacionados por dos
operaciones binarias denominadas suma (+) y producto (.) lógicos que cumplen
con los postulados siguientes.

3.1.2. Propiedades
1. Ambas operaciones son conmutativas, es decir, si a y b son elementos
del álgebra, se verifica:
a+b=b+a
a.b = b.a
2. Dentro del álgebra existen dos elementos neutros, el 1 y el 0; que
cumplen con la propiedad de identidad con respecto a cada una de las
operaciones:
29
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

0+a=a
1.a = a
3. Cada operación es distributiva respecto a la otra:
a.(b + c) = a.b + a.c
a + b.c = (a + b).(a + c)
4. Para cada elemento “a” del álgebra existe un elemento denominado ā o
a’, tal que:
a+ā=1
a.ā = 0

Este último postulado define realmente una operación fundamental que es la


inversión o complementación de una variable. La variable “a” se encuentra
siempre en un estado binario contrario al de ā.

Como complemento, se puede decir que el álgebra booleana es relativamente


fácil de manejar en comparación con la ordinaria, ya que sólo pueden haber 2
valores. Aquí no hay fracciones, decimales, números negativos, raíces
cuadradas, cúbicas, logaritmos o números imaginarios, etc.

3.2. Teorema del algebra de Boole


Un álgebra de Boole, en virtud de las propiedades que por definición se le
exigen, cumplen una serie de teoremas. Estos teoremas son de gran utilidad
a la hora de transformar expresiones algebraicas de funciones lógicas en
otras equivalentes.

 Asociativa

a + (b + c) = (a + b) + c

a.(b.c) = (a.b).c

 Absorción
a + a.b = a
a . (a + b) = a
 Idempotencia
a+a=aóa+ā=1
a.a = a ó a.ā = 0
 Involución

30
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

(ā) = a
 Incógnita
X+1=1
X.0 = 0
 Leyes de morgan

 Dualidad.- Cualquier expresión válida en un álgebra de Boole continua


siendo válida si se intercambian entre sí los elementos neutros (0 – 1) y
las operaciones (+ ↔.).
Algunos de estos teoremas son generalizables a n variables, por ejemplo,
las Leyes de Morgan: El complementario de una suma de variables es el
producto de los complementarios de las variables, y el comportamiento de
un producto de variables es igual a la suma de los complementarios de la
suma.

3.3. Operaciones básicas


3.3.1. Suma lógica
Llamada también operación «O» (OR en inglés). Es una operación entre dos
variables lógicas a y b, representadas por el símbolo +, y definida por la siguiente
tabla:

La regla general que se desprende de la Tabla es la siguiente:


0+a=a
1+a=1
3.3.2. Producto lógico
Se le llama también operación «Y» (AND en inglés). Es una operación entre dos
variables lógicas a y b, representadas por el símbolo (.), y se define por la Tabla:

31
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

La regla general que se desprende de la Tabla es la siguiente:


1.a=a
0.a=0
3.3.3. Complementacion o inversión lógica
Llamada también operación «NO» (NOT en inglés). Es una operación sobre una
variable lógica a, representada por una barra elevada ( ¯ ) o una comilla (‘), y
definida por la siguiente tabla:

La regla general que se desprende de la Tabla son las siguientes:


a+ā=1
a.ā=0
ā≠a
Cualquier relación entre variables lógicas puede representarse por combinación
de éstas tres operaciones básicas.

3.4. Representación de funciones lógicas


Las funciones booleanas se pueden describir de variadas formas incluyendo:

 Álgebra booleana

 Tablas de verdad,
 Diagramas de compuertas,

 Diagramas de Venn,
 Mapas de Karnaugh,
 Entre otros.

32
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

3.4.1. Mapas de Karnaugh


Este método consiste en formar diagramas de 2n cuadros, siendo n el número
de variables. Cada cuadro representa una de las diferentes combinaciones
posibles y se disponen de tal forma que se puede pasar de un cuadro a otro en
las direcciones horizontal o vertical, cambiando únicamente una variable, ya sea
en forma negada o directa.

3.4.2. Compuertas lógicas


Existen múltiples diagramas que pueden representar la misma función. La
ventaja de esta representación es que esta asociada a la implementación en un
medio visual. Los circuitos combinacionales contienen solo compuertas.y los
circuitos secuenciales contienen flip-flops y compuertas.

3.5. Compuertas lógicas


Los símbolos para reconocer a cada una de las compuertas que identifican a las
operaciones descritas en el punto anterior se ilustran a continuación.

3.5.1. Compuerta OR
Es un circuito digital que tiene dos o más entradas y cuya salida es igual a la
suma OR de las entradas. El símbolo correspondiente a una compuerta OR de
dos entradas es el que se puede observar en la siguiente figura:

33
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

En resumen se puede destacar los aspectos más importantes de la operación


OR:
 La operación OR produce un resultado de 1 cuando cualquiera de las
variables de entrada es 1.
 La operación OR genera un resultado de 0 solamente cuando todas las
variables de entrada son 0.
 En la operación OR, 1+1 = 1; 1+1+1=1; etc.
La función OR también se puede identificar de la siguiente manera:

Bloque de funciones de la operación OR

3.5.2. Compuerta AND


En la siguiente figura se muestra en forma simbólica una compuerta AND de dos
entradas, en este caso la salida de la compuerta AND es igual al producto de las
entradas lógicas, es decir, X = A.B.

Así como la función OR, ésta también se puede identificar, como se muestra en
la siguiente figura:

3.5.3. Compuerta NOT


En la siguiente figura se muestra en forma simbólica una compuerta NOT, la cual
tiene una sola entrada y una salida. La salida del inversor se encuentra en estado
lógico “1” sí y solo sí, la entrada se encuentra en el estado lógico “0”. Esto es,
que la salida toma el estado lógico opuesto al de la entrada.

34
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Tal como en los casos anteriores, ésta compuerta también se puede identificar
como se muestra en la siguiente figura:

3.5.4. Compuerta XOR


También llamada compuerta OR exclusivo, en la siguiente figura se puede
observar su representación y su Tabla de la Verdad correspondiente. El símbolo
del operador OR exclusivo es la suma de un circuito y está definido como: a
b = ā.b + a.ƀ .

La compuerta también se puede identificar de la siguiente manera:

3.5.5. Compuerta NAND


La función u operación de la compuerta le corresponde a:

De lo anterior se deduce que ésta no es más que la operación AND


complementada, su representación se puede observar en la siguiente figura:

También se puede representar como se muestra a continuación:

35
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

3.5.6. Compuerta NOR


Para esta compuerta la función u operación se establece como:

De esta función se deduce que ésta representa una operación OR


complementada, de allí que en la Figura 2.15 se puede observar su
representación.

Se puede representar como a continuación:

4. UNIDAD 4: ARBOLES Y GRAFOS

4.1. Grafos – definiciones básicas

Definiciones Graficas:

Grafos: un grafo G es una dupla G= (X, U), donde X es el conjunto finito y no vació de los
elementos llamados vértices y U es el conjunto cuyos elementos se componen de subconjunto
de X de cardinalidad dos, llamadas aristas.

36
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

4.2. Algoritmo de la ruta más corta

Algoritmo de Dijkstra. También llamado algoritmo de caminos mínimos, es un


algoritmo para la determinación del camino más corto dado un vértice origen al
resto de vértices en un grafo con pesos en cada arista. Su nombre se refiere
a Edsger Dijkstra, quien lo describió por primera vez en 1959.

Descripción

El algoritmo de dijkstra determina la ruta más corta desde un nodo origen hacia
los demás nodos para ello es requerido como entrada un grafo cuyas aristas
posean pesos. Algunas consideraciones:

 Si los pesos de mis aristas son de valor 1, entonces bastará con usar el algoritmo
de BFS.
 Si los pesos de mis aristas son negativos no puedo usar el algoritmo de dijsktra,
para pesos negativos tenemos otro algoritmo llamado Algoritmo de Bellmand-
Ford.

Como trabaja

37
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Primero marcamos todos los vértices como no utilizados. El algoritmo parte de


un vértice origen que será ingresado, a partir de ese vértices evaluaremos sus
adyacentes, como dijkstra usa una técnica greedy – La técnica greedy utiliza el
principio de que para que un camino sea óptimo, todos los caminos que contiene
también deben ser óptimos- entre todos los vértices adyacentes, buscamos el
que esté más cerca de nuestro punto origen, lo tomamos como punto intermedio
y vemos si podemos llegar más rápido a través de este vértice a los demás.
Después escogemos al siguiente más cercano (con las distancias ya
actualizadas) y repetimos el proceso. Esto lo hacemos hasta que el vértice no
utilizado más cercano sea nuestro destino. Al proceso de actualizar las distancias
tomando como punto intermedio al nuevo vértice se le conoce como relajación
(relaxation).

4.3. Redes de flujo de grafos.

Cadena: es una secuencia de aristas de G, tal que cada arista de la secuencia tiene un extremo
común con el arco precedente y otra con el siguiente.

Largo de una cadena: es el número de arista de la secuencia.

Cadena elemental: es aquella que no repite vértices.

Cadena simple: es aquella que no repite aristas.

Sendero: es un camino elemental (que no repite nodo).

Vía: es un camino cuyo arco que pueden recorrer en su sentido directo o contrario.

4.4. Clasificación de Grafos:

Multigrado: es un grafo no orientado con múltiples aristas entre pares de nodo.

Grafo simple: es un grafo sin bucles, sin múltiples aristas entre pares de vértices.

38
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Grafo completo: para todo par de vértices de G, existe por lo menos una arista que los una.
Por lo tanto un grafo completo de n vértices es aquel que tiene sus n vértices mutuamente
adyacentes.

Sudgrafo parcial de G, es un sidgrafo de un grafo parcial de G.

Grafo bipartito: es un grafo cuyo conjunto de vértices puede ser particionado en dos clases X1
y X2 de tal forma que dos vértices de la misma clase no sean jamás adyacentes. Se nota G= (X1,
X2, U)

Grafo bipartito completo: es aquel en el que para todo elemento de X1 y todo elemento de X2
existen por lo menos un arco que los liga.

Un grafo simple bipartito completo con P elementos en X1 y q elementos en X2 se nota K p, q.

Grafo regular: es aquel en el que todos sus vértices tienen el mismo grado.

Grafo ponderado: G=(X, U, W) donde (X,U) es un grafo y W es una función W: U→ Z+(Z+ :


enteros positivos).

Si u € U, w(u) es llamado el peso de la arista u. Estos pesos corresponden, según la aplicación, a


costos, capacidades u otras propiedades de las aristas o arcos.

39
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Cuando se desea asignar valores negativos o reales a los pesos de las aristas, se debe tener
especial cuidado en la eleccion de los algoritmos ya que la rectitud de los mismos puede
depender de la restricción a Z+

Grafo conexo: Es aquel que para cada par de vértices de G existe una cadena que nos une.

En grafos orientados se definen 2 conceptos

Débilmente conexo: si existe una cadena(sin tener en cuenta la orientación)que une cada par
de nodos distintos.

Fuertemente conexo: si para cada par de ordenados de nodos x e y, existe un camino que va
desde x a y

4.4.1. Ciclos y circuitos.

Ciclos: es una cadena simple, cuyos 2 vértices extremos, inicial y Terminal, coinciden (no tiene
en cuenta la orientación).

Si queremos describir la orientación en un ciclo designamos como:

u+ = (ui : ui orientada en el sentido del ciclo)

u+ = (ui : ui orientada en el sentido contrario del ciclo)

Ciclo elemental: es un ciclo donde no se repite ningún vértice (salvo el primero que coincide
con el ultimo).lo notamos uE= (u1,…,un).

Propiedad 1: Todo siclo uC es una suma de siclos elementales sin aristas comunes.

Propiedad 2: Un ciclo es elemental si solo si es un ciclo minimal (es decir que no se pueden
deducir otros ciclos por supresión de aristas).

Seudociclo: es una cadena donde los extremos coinciden pero que una misma arista puede
figurar mas de una vez (también consecutivamente).

Ciclo del conjunto de vértices A: es el conjunto de aristas de incidentes a A, del tipo I(A) no
vació y particionado en dos clases I+(A) y I-(A).

40
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Ciclo Euleriano: Es aquel que incluye todas las aristas del grafo una sola vez, conteniendo cada
vértice por lo menos una vez.

Cadena Euleriana: Es aquella que recorre todas las aristas una sola vez (= simple) tocando
todos los vértices del grafo.

Todo multigrado que posee un ciclo Euleriano es conexo y todos sus vértices tienen grado par.

Teorema: un multigrado (no orientado) G= (X,U) posee un ciclo Euleriano si G es conexo todos
sus vértices son de grado par.

Una cadena Euleriana es una cadena que corresponde todas las aristas del grafo una sola vez
incluyendo todos los vértices.

Corolario: un multigrado posee una cadena Euleriana, Si es conexo y tiene exactamente dos
vértices de grado impar.

4.5. Árboles definiciones básicas

Árbol: Es un grafo finito, conexo, sin ciclos y con por lo menos 2 vértices.

Bosque: es un grafo donde cada componente conexa es un árbol, es decir es un conjunto de


árboles no conexos entre sì. Además es un grafo sin ciclos por estar compuesto por árboles.

41
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Arborescencia: Es un árbol dirigido con un nodo llamado raíz, tal que existe un único camino
desde la raíz a cualquier otro nodo del árbol. Ese camino es elemental y simple.

Proposición: Una arborecencia posee una sola raíz

Un árbol lo puedo convertir en arborecencia tomando cualquier vértice como raíz y


asignándole direcciones a las aristas desde el nodo raíz.

Por lo tanto, designaremos como árbol, indistintamente a un árbol o arborecencia.

La manera Standard de dibujar una arborecencia es colocando la raíz a en la cima de la figura.


Así podemos definirle niveles a los vértices del grafo (la raíz tiene nivel 0).

Altura de un árbol (o arborecencia): Es el número de aristas del camino más largo, es decir, el
numero de nivel mas alto de cualquier vértice.

Esqueleto o árbol de cubrimiento (spanning tree) de un grafo G: Es un subgrafo que es un


árbol y que tiene todos los vértices de

Definición:

un grafo o subgrafo es fuertemente conexo

42
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Una relación R es transitiva, en un conjunto X,

4.6. Árboles binarios y n-arios

Los árboles binarios son estructuras de datos muy similares a las listas
doblemente enlazadas, en el sentido que tienen dos punteros que apuntan a
otros elementos, pero no tienen una estructura lógica de tipo lineal o
secuencial como aquellas, sino ramificada. Tienen aspecto de árbol, de ahí
su nombre.

Un árbol binario es una estructura de datos no lineal en la que cada nodo


puede apuntar a uno o máximo a dos nodos. También se suele dar una
definición recursiva que indica que es una estructura compuesta por un dato
y dos árboles. Esto son definiciones simples. Este tipo de árbol se caracteriza
porque tienen un vértice principal y de él se desprende dos ramas. La rama
izquierda y la rama derecha a las que también se les conoce como
subárboles.

Una representación gráfica de la estructura general de un árbol binario se


puede visualizar en la imagen1 que presente a continuación.

Imagen 1. Estructura general de un árbol binario

43
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

La rama izquierda y la derecha, también son dos árboles binarios. El Vértice


principal se denomina raíz y cada una de las ramas se puede denominar
como subárbol izquierdo y subárbol derecho.

Imagen 2. Representación gráfica de un árbol binario

Teniendo en cuenta la gráfica del árbol binario de la figura 2 podemos


identificar algunas generalidades y partes del árbol.

Nodo: Un árbol binario es un conjunto de elementos cada uno de los cuales


se denomina nodo. Un árbol Binario puede tener cero nodos y este caso se
dice que está vacío. Puede tener un sólo nodo, y en este caso solamente
existe la raíz del árbol o puede tener un número finito de nodos. Cada nodo

44
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

puede estar ramificado por la izquierda o por la derecha o puede no tener


ninguna ramificación.
Con relación al tipo de nodos que hacen parte de los árboles, se identifican
algunos nodos:

Nodo hijo: cualquiera de los nodos apuntados por uno de los nodos del árbol.
En la gráfica de la imagen 2, se tiene , ‘D’ y ‘M’ son hijos de ‘A’.
Nodo padre: nodo que contiene un puntero al nodo actual. En el ejemplo, el
nodo ‘A’ es padre de ‘D’ y ‘D’.
Los árboles con los que trabajará tienen otra característica importante: cada
nodo sólo puede ser apuntado por otro nodo, es decir, cada nodo sólo tendrá
un padre. Esto hace que estos árboles estén fuertemente jerarquizados, y es
lo que en realidad les da la apariencia de árboles.

En cuanto a la posición dentro del árbol se tiene:

Nodo raíz: nodo que no tiene padre. Este es el nodo que usaremos para
referirnos al árbol. En el ejemplo anterior, es el nodo ‘A’.
Nodo hoja: nodo que no tiene hijos. En el ejemplo hay varios: ‘L’, ‘K’, ‘I’, ‘E’.
Existen otros conceptos que definen las características del árbol, en relación
a su tamaño:

Orden: es el número potencial de hijos que puede tener cada elemento de


árbol. De este modo, se dice que un árbol en el que cada nodo puede apuntar
a otros dos es de orden dos, si puede apuntar a tres será de orden tres y así
sucesivamente.
Grado: el número de hijos que tiene el elemento con más hijos dentro del
árbol. En el árbol del ejemplo en la imagen 2, el grado es dos, ya que tanto
‘A’ como ‘D’ y ‘M’ tienen dos hijos, y no existen elementos con más
de dos hijos.
Nivel: se define para cada elemento del árbol como la distancia a la raíz,
medida en nodos. El nivel de la raíz siempre será cero y el de sus hijos uno.
Así sucesivamente. En el ejemplo de la imagen 2, el nodo ‘D’ tiene nivel 1, el
nodo ‘L’ tiene nivel 2.

45
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Altura: la altura de un árbol se define como el nivel del nodo de mayor nivel.
Como cada nodo de un árbol puede considerarse a su vez como la raíz de
un árbol, también se puede hablar de altura de ramas.

4.7. Recorridos por árboles

El recorrido de un arbol es el proceso para recorrer (desplazarse a lo largo)


un arbol de ma- nera sistematica a fin de que cada vertice se visite y procese
exactamente una vez .Hay tres metodos para recorrer un arbol binario a saber
recorridos de preorden , de inorden y de posorden.

[4]La busqueda a lo ancho y la busqueda a profundidad proporcionan formas


de recorrer un arbol , es decir de recorrerlo de manera sistematica de modo
que cada vertice sea visitado exactamente una vez.

4.4.1. Recorrido preorden :

Para recorrer un arbol binario no vacio en preorden, hay que realizar las
siguientes opera- ciones recursivamente en cada nodo, comenzando con el
nodo de raiz:

1.Visite la raiz

2.Atraviese el sub-arbol izquierdo

3.Atraviese el sub-arbol derecho

Preorden: ABDGEHICFJK

4.4.2. Recorrido inorden :

46
TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE MATEMÁTICA DISCRETA

Para recorrer un arbol binario no vacio en inorden (simetrico), hay que realizar
las siguientes operaciones recursivamente en cada nodo:

1.Atraviese el sub-arbol izquierdo

2.Visite la raiz

3.Atraviese el sub-arbol derecho

Inorden: GDBHEIACJKF

5.3. Recorrido posorden :

Para recorrer un arbol binario no vacio en postorden, hay que realizar las
siguientes opera- ciones recursivamente en cada nodo:

1.Atraviese el sub-arbol izquierdo

2.Atraviese el sub-arbol derecho

3.Visite la raiz


Postorden: GDHIEBKJFCA

47

Anda mungkin juga menyukai