You are on page 1of 6

Anlisis= * Modelado * Entradas * Salidas * Restricciones Diseo= * Modelado * Funciones * Construccin Datos= Unidad de informacin Tipos Bsicos: caracteres,

enteros, enteros positivos, negativos de punto flotante Estructuras bsicas abstractas: * Arreglo, * matriz,* Grafos : dirigidos: con ciclos, sin ciclos-arboles, no dirigidos. Cualquier combinacin posible. Conjunto: Coleccin de objetos que comparten alguna propiedad caracterstica donde no hay repeticiones. Elemento: Cada miembro que forma el conjunto. Relacin: Una relacin es un mapeo (asociacin posible) Entre el conjunto A y el conjunto B Producto Cruz. Estructuras avanzadas:

Propiedades de los Conjuntos: Relacin de equivalencia Todo elemento est relacionado consigo mismo si A est relacionado con B, B est relacionado con A. Definicin del problema: Dada una relacin binaria R sobre A, determinar si R es una relacin de equivalencia. Mtodo: 1) Representar R en una matriz binaria de nxn donde /A/=n. n= nmero de elementos de A. 2) Determinar si R es: a) Reflexiva b) Simtrica c) Transitiva j=1,2,3..n, k=1,2,3. Si para cada elemento de Mr {i,i}=1, con i=1,2,3 .n r es reflexiva, sino, no lo es. Si para cada elemento de Mr {i,j}= Mr {j,i} , con i=1,2,3..n j=1,2,3..n r es simtrica, sino, no lo es. Si se cumple la condicin que para cada Mr{i,j}=1 ^ Mr{j,k}=1, implica que Mr{i,k}=1 para todo ijk donde i=1,2,3 .n,

Relequiva(Mr{n,n} {Inicio} Sim verdadero , Ref verdadero, Tra verdadero

Para j= 1,2,3 n Si Mr{i,j}= Mr{j,i} Sim Falso

Trans Equiv

Falso ref^sim^trans

Regresa equi

Para i= 1,2,3 n Para j= 1,2,3 n Para k= 1,2,3 n

Para i= 1,2,3 n Si Mr{i,j}=0 Ref Falso

Si Mr{i,j}=1 ^ Mr{j,k} =1 ^ Mr{j,k}=0

Para i= 1,2,3 n

Pseudo: Int Relequiv (int **Mr,n) Int sim=1, ref=1, trans=1, equiv=0 Int I,j,k; For(i=0; i<n, i++)

If( Mr{i}{i}==0 Ref=0; For(i=0; i<n, i++) For(j=0; i<n, i++) {If(Mr{i}{j}!=Mr{j}{i} }

Sim=0; For(i=0; i<n, i++) For(j=0; i<n, i++)

Trans=0; If(ref==1& sim==1 & trans==1) Equiv=1

{ int Mr{n}{n} = { 0 0 0} Int r; R= RelEquiv ( Mr); Prinf( /n Resp: %d ,r); }

For(k=0; i<n, i++){ Return equiv If(Mr{i}{j}==1 & Mr{j}{k}==1 & Mr{j}{k}==0 Main()

Grafo Dirigido= Es un par ordenado G<A,R> donde A es el conjunto de nodos y R es una relacin binaria de incidencia. Relacin binaria= es un conjunto de pares ordenados de elementos entre dos conjuntos. rbol= Grafo dirigido. Conjunto de vrtices con una relacin binaria sobre l. ORDENAMIENTO: Problema: Dada una secuencia de n elementos a1,a2 an tomados de un conjunto que tiene un orden lineal, el cual denotaremos por<= debemos encontrar una permutacin de estos elementos que mapearn la secuencia en una secuencia no decreciente A (1) , A (2) A (3) tal que A (i)<= A (i+1) para i<=i<=n usualmente produciremos la secuencia ordenada en lugar de la permutacin.

Mtodo. Para cada elemento de la secuencia, a partir del primero hasta el penltimo: Comparar el elemento A(i) con cada uno de los elementos de la secuencia. Si el elemento con el que se compara es menor que a, entonces intercambie a con dicho elemento en la secuencia, sino, compare a con el elemento siguiente y continue el proceso con el nuevo valor de a. Algoritmo: Para i=1,2,3 n-1 Para j=1,2,3 n-1 Segundo mtodo: Divida iterativamente la secuencia s=<a1,,,an>, Sb=<an/2+1, ,,an< hasta tener secuencias de un solo elemento (ordenado por definicin) Combine las 2 secuencias ordenadas de cada componente intercalando apropiadamente cada subsecuencia para obtener una secuencia ordenada hasta obtener la secuencia completa y ordenada. Si S{j}<= s{i} t S{i} S{i} S{j} S{j} {FIN} Complejidad= 2n -2
2

S{i}

Bsqueda Binaria en un arreglo ordenado. Problema: Dada una secuencia ordenada de elementos de un conjunto con orden parcial, encontrar un elemento X, regresando su posicin en el arreglo si es parte de la secuencia indicar que no est si no lo es. Mtodo: Calcular la mitad de la secuencia (arreglo) y comparar se valor con el valor buscado. Si el elemento del arreglo es igual al buscado regresa a la posicin del elemento. Si el elemento del arreglo es mayor que el buscado, entonces repetir la bsqueda en la mitad izquierda del arreglo. Si el elemento en el arreglo es menor que el buscado, entonces buscar en la mitad derecha. Repetir el proceso hasta encontrar el nmero o agotar la bsqueda. Algoritmo: BusBinIter {A1,2,3..n}, x} {Inicio} inicio 1 fin n Si A{m}=x Regresa m Si_no: Si A}m} >x m inicio + { (fininicio) /2} fin m-1 Si_no: Si A{m} < x inicio {fin} m+1

Mientras fin inicio >=0

Otro mtodo: DIVIDIR Construir un rbol binario, cuyos nodos contienen el inicio y el fin del subarreglo obtenido al dividir en 2 partes iguales el arreglo correspondiente al nodo padre. Los ndices se obtienen dividiendo el arreglo original en dos partes y cada parte representa un subconjunto izquierdo y uno derecho. Repetir el proceso hasta obtener arreglos de longitud 1. ORDENAR Ordenar el arreglo combinando apropiadamente cada subarreglo desde el fondo del rbol hasta el nodo raz. Funcin de Complejidad: Es una funcin F que mapea el conjunto de los enteros positivos a los reales F: I algoritmos.
+

R para medir a eficiencia de los

Para una funcin de complejidad dada f(n), O(f(n)) es el conjunto de funciones de complejidad g(n) para las cuales existe alguna constante real positiva C y algn entero no negativo N tales que para todo n>= N se cumple la igualdad siguiente O g(n)<=C*f(n) g(n)>=C*f(n) (f(n)) ^ O (f(n)) = (f(n))

Mquina de turin y un algoritmo son equivalentes. La mquina de turn(universal) algoritmo programa Mquina de Turn= Problema Codificado + Mtodo. Estructura de datos+ mtodo = algoritmo programa

Bsqueda en amplitud iterativo Encolar la raz, Sacar lo que hay en la cola Visitar el siguiente nodo y analizar si tiene hijos. Si no es nulo entonces encolar la lista de hijos, ir al siguiente hermano y visitarlo. Encolar la raz. Algoritmo: RecAmp(raz) {inicio} InicializaCola Q Encola {Q,raz} Mientras ColaVaca(Q)=Falso Nodo Desencola(1) Si nodo.l_hijos= nulo Encola (Q,l_hijos) Mientras nodo.her_der= nulo Nodo nodo.her_der Si nodo.l_hijos= nulo Encola (a,l_hijos)

You might also like