República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Universidad Nacional Experimental de Guayana Maestría en Tecnologías

de la Información Asignatura: Análisis y Diseño de Algoritmos

Realizado por: Isparraguirre, Lourdes. C.I: Marcano, Jacqueline. C.I: 14.118.609 Salazar, Carmen. C.I: Vasquez, Douglas. C.I: 15.781.752

Introducción Un conjunto es la agrupación en un todo de objetos bien diferenciados en la mente o en la intuición. agrupación o colección de elementos bien definidos que tienen una propiedad en común. Es la reunión. Dos conjuntos son disjuntos si no tienen ningún elemento que pertenezca a ambos conjuntos al mismo tiempo. elementos de cada uno de los correspondientes conjuntos. cada mes del año. etc. los números impares. 2 . respectivamente. siendo cada alumno del colegio. Febrero de 2008. por lo tanto. los meses del año. Ejemplos: los alumnos de un colegio. estos objetos son bien determinados y diferenciados. cada número impar.. Ejemplo: Los dos conjuntos siguientes: {x/x es un número natural} {x/x es un día de la semana} Son disjuntos ya que no tienen ningún elemento común.Conjuntos Disjuntos Ciudad Guayana.

. } es disjunta por pares. es decir si. Formalmente. Si la colección {Ai} es disjunta por pares. su intersección es obviamente vacía: 3 . A ∩ B = ø Los conjuntos de una tal colección son disjuntos por pares o mutuamente disjuntos si cualquier par de conjuntos distintos de ella son disjuntos.. dos conjuntos A y B son disjuntos si su intersección es el conjunto vacío. con i ≠ j. Dos conjuntos son disjuntos cuando no tienen elementos comunes. j ∈ I. Por ejemplo. {2}. La familia de conjuntos { Ai | i ∈ I} es disjunta por pares si para cada i. la colección de conjuntos { {1}.Conjuntos Disjuntos Conjuntos Disjuntos: Formalmente.. sea Ai un conjunto para cada i ∈ I (donde I es cualquier conjunto). {3}.

cierta: la intersección de la colección {{1. pero la colección no es disjunta por pares. disjuntos por pares. s } N = { s. 3}. 6 } B = { 1. {3. t. 3.Conjuntos Disjuntos La implicación inversa no es. no hay. sin embargo. {2. 5 } A y B son disjuntos. M = { o. v. Una partición de un conjunto X es una colección de subconjuntos no vacíos {Ai | i ∈ I} de X. p. C = { x/x es una letra del alfabeto } D = { x/x es un número } C y D son disjuntos Representación Gráfica: A B P = { x/x es una letra de la palabra aritmética } Q = { x/x es una letra de la palabra algebra } P y Q no son disjuntos 7 5 1 9 3 2 4 6 8    Como puedes observar los conjuntos A y B no tienen elementos comunes. 1}} es vacía. r. por lo tanto son Conjuntos Disjuntos PRIMER ENFOQUE 4 . 2}. q. dos conjuntos disjuntos en ella. u } M y N no son disjuntos. de hecho. tales que Ejemplos: Conjuntos disjuntos Conjuntos no disjuntos A = { 2. 4.

Representación de conjuntos disjuntos  La representación inicial es una colección con n conjuntos. sólo necesitamos comprobar si a y b están en la misma clase de equivalencia. por ejemplo: el valor más pequeño. Dada una relación de equivalencia _.b).b 2 C. Así. • Para decidir si a _ b.a. La clase de equivalencia de un elemento a 2 C es el subconjunto de C que contiene todos los elementos relacionados con a. su representante. simétrica y transitiva.  Cada subconjunto tomara su nombre de uno de sus elementos. así que Ci ∩ Cj = 0  Mantenemos en un vector el nombre de la clase de equivalencia de cada elemento.a R b es verdadera o falsa. Cada conjunto tiene un elemento diferente. Una relación de equivalencia es una relación que satisface tres propiedades: reflexiva. Todos los elementos se numeran de 1 a n.Conjuntos Disjuntos Relaciones de equivalencia Una relación R se define en un conjunto C si para todo par de elementos (a.  Mantenemos en un vector el nombre del subconjunto disjunto de cada elemento 5 . el problema natural es decidir si a _ b. • Las clases de equivalencia forman una partición de C: todo elemento de C aparece en exactamente una clase de equivalencia. para cualesquiera a y b.  Todos los elementos se numeran de 1 a n. cada uno con un elemento (todas las relaciones son falsas excepto las reflexivas). al principio se tiene Ci = {i} para i = 1 hasta n.

la clase de equivalencia) de un elemento dado. Cada conjunto tiene un elemento diferente.Conjuntos Disjuntos Operaciones validas La representación inicial es una colección de n conjuntos. Hay dos operaciones válidas. Ci. 6 .Búsqueda tipo Elemento = entero.  La unión combina dos clases de equivalencia que contienen a y b en una clase de equivalencia nueva. Conj = entero. destruyéndose las originales.  La búsqueda devuelve el nombre del conjunto (es decir. al principio se tiene Ci = {i}. Pseudocodigo (i) . Ci \Cj = /0 Así.

Conjuntos Disjuntos ConjDisj = vector [1. 7 . No importa. ya que entonces todo estará en un conjunto) tomaría un tiempo de O(n2). a. que conjunto retiene su nombre. x) : Conj devolver C[x] fin funcion La búsqueda es una simple consulta O(1). El nombre del conjunto devuelto por búsqueda es arbitrario. el rendimiento sería bueno porque el tiempo de ejecución total sería O(1) para cada operación unión o búsqueda en el curso del algoritmo. Pseudocodigo (ii) . C[b]).  La combinación de m búsquedas y n−1 uniones toma O(m+n2).. Todo lo que importa es que búsqueda(x)=búsqueda(y) si y solo si x e y están en el mismo conjunto.  Si también hubiese O(n2) operaciones búsqueda. b) i := min (C[a]. en lo que concierne a corrección.  Una secuencia de n−1 uniones (la máxima.N] de entero funcion Buscar1 (C. C[b]). para k := 1 hasta N hacer si C[k] = j entonces C[k] := i fin para fin procedimiento La unión toma O(n).Unión procedimiento Unir1 (C. j := max (C[a].

pues cada elemento en un árbol tiene la misma raíz. entonces p[i]=i -  Una búsqueda sobre el elemento x se efectúa devolviendo la raíz del árbol que contiene x. pero difícil la búsqueda. Cada entrada p[i] en el vector representa el padre del elemento i. La representación de los árboles es fácil porque la única información que necesitaremos es un apuntador al padre.  Se utiliza un árbol para representar cada conjunto.Conjuntos Disjuntos SEGUNDO ENFOQUE  Examinaremos una solución al problema que hace fácil la unión. - La raíz se utiliza para nombrar el conjunto. Si i es una raíz. 8 .  Para ejecutar una unión de dos conjuntos se combinan ambos árboles haciendo que la raíz de un árbol apunte a la raíz del otro.

Conjuntos Disjuntos funcion Buscar2 (C. La búsqueda de un elemento x es proporcional a la profundidad del nodo con x. La búsqueda de un elemento x es proporcional a la profundidad del nodo que representa a x. raiz2) { supone que raiz1 y raiz2 son raíces } si raız1 < raiz2 entonces C[raız2] := raız1 sino C[raız1] := raız2 fin procedimiento La unión de dos conjuntos se efectúa combinando ambos apuntamos la raíz de un árbol a la del otro. devolver r fin funcion Una búsqueda sobre el elemento x se efectúa devolviendo la raíz del árbol que contiene x. raiz1. En el peor caso es O(n) procedimiento Unir2 (C. x) : Conj r := x. en el peor caso es O(n) árboles: 9 . mientras C[r] <> r hacer r := C[r] fin mientras. La unión toma O(1).

raiz2) { supone que raiz1 y raiz2 son raíces } si A[raiz1] = A[raiz2] entonces A[raiz1] := A[raiz1] + 1.Conjuntos Disjuntos La combinación de m búsquedas y n−1 uniones toma O(m·n) en el peor de los casos. Unión por alturas Las uniones anteriores se efectuaban de modo arbitrario. Una mejora sencilla es realizar las uniones haciendo del profundo un sub árbol del árbol mas profundo. raiz1. A. árbol menos Pseudocódigo procedimiento Unir3 (C. C[raiz2] := raiz1 sino si A[raiz1] > A[raiz2] entonces C[raiz2] := raiz1 10 . La altura se incrementa solo cuando se unen dos árboles de igual altura.

Conjuntos Disjuntos sino C[raiz1] := raiz2 fin procedimiento  Se demuestra que si las uniones se hacen por altura.  Combinando m búsquedas y n−1 uniones. • Así.  Un nodo está inicialmente a la profundidad 0. log2(n) veces. los accesos futuros sobre esos nodos compensarán el trabajo adicional de hacer la compresión de caminos.  En la búsqueda de un elemento x. su profundidad se puede incrementar a lo más. Así.  Eso implica que el tiempo de ejecución de una operación búsqueda es O(log n) y una secuencia de m búsquedas y n−1 uniones tarda O(m log n +n ) Compresión de caminos  La compresión de caminos se ejecuta durante una operación búsqueda y es independiente de la estrategia con que se efectúen las uniones. su profundidad se puede incrementar a lo mas. 11 . todo nodo en el camino de x a la raíz cambia su padre por la raíz. se coloca en un árbol que es al menos el doble de grande que antes. Cuando su profundidad se incrementa como resultado de una unión. Así. O(m·log(n)+n). se coloca en un árbol al menos el doble de grande. la profundidad de cualquier nodo nunca es mayor que log n. log n veces  Cuando su profundidad se incrementa como resultado de una unión.  El tiempo de ejecución de una búsqueda es O(log(n)).

mientras C[r] <> r hacer r := C[r] fin mientras. C[i]:= r. i := x. mientras i <> r hacer j := C[i]. x) : Conj r := x.Conjuntos Disjuntos funcion Buscar3 (C. pero ocurre que la unión por rango es tan eficiente en teoría como la unión por altura. i := j fin mientras. 12 . devolver r fin funcion Rangos La compresión de caminos no es del todo compatible con la unión por altura. porque se pueden cambiar las alturas de los árboles. • Las alturas almacenadas para cada árbol se convierten en alturas estimadas (llamadas rangos).

Conjuntos Disjuntos Conclusión 13 .

Teoría de conjuntos y temas afines (1992).wikipedia.. S. Universidad de Oviedo.wikipedia.org/wiki/Conjuntos_disjuntos http://es.A.org/wiki/Teor%C3%ADa_de_conjuntos http://www. lógica matemática. Antonio.Conjuntos Disjuntos Bibliografía González Carlomán. Lipschutz.lfcia.org/~valderru/alg/conjuntos_disjuntos. Retículo completo de Boole. teoría de conjuntos (2006). Seymour.pdf 14 . http://es. McGraw-Hill / Interamericana de España.

1 2 15 .Conjuntos Disjuntos Índice Contenido Introducción Conjuntos Disjuntos Primer Enfoque Relaciones de Equivalencia Representación de Conjuntos Disjuntos Operaciones válidas Pseudocódigo – Búsqueda Pseudocódigo – Unión Segundo Enfoque Pseudocódigo – Búsqueda Pseudocódigo – Unión Unión por Altura Compresión de camino Rangos Conclusión Bibliografía 7 8 9 10 11 12 13 3 4 5 5 6 Pag.

Sign up to vote on this title
UsefulNot useful