Centro universitario Grupo Español

Campus Diamante

Materia: Estructurada datos II Profesor: Robinson Barrientos Arcos

Alumno: Francisco David Santiago Donagustin

Instrucciones: Investigar los siguiente Conceptos.

• • • • •

Estructura datos. Grafo.{Trayectorias} {Circuitos} Intercalación. {simple} {cuadrática} {merge (“mezcla”)} Distribución. {Radix} {simple} {Mc Clare} Archivos.

• Secuencial • Aleatorio • Indexado • Evolución de métodos.
• En función del tiempo • En función del espacio • En función del costo

Estructura datos: es una forma de organizar un conjunto de datos
elementales con el objetivo de facilitar su manipulación. Un dato elemental es la mínima información que se tiene en un sistema.

6

Similarmente. respectivamente. en donde V y A son conjuntos finitos. es un conjunto de vértices de G. Los elementos de V y de A se llaman. tal que G-U no es conexo o trivial. "vértices" y "aristas" de G.  Grafo Trayectoria: trayectoria en un grafo es una. un conjunto de corte de aristas F es un conjunto de aristas tal que G-F no es conexo. secuencia de una o más aristas que conecta a dos nodos.j ). Denotamos por P(Vp Vj) a una trayectoria que conecta a los nodos Vi y Vj. Un grafo se define como G = (V.A.  6 . Grafo: es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulación. y j es una aplicación que hace corresponder a cada elemento de A un par de elementos de V. debe hacer en EG una secuencia de arcos  Grafo Circuitos: Un conjunto de corte de vértices U en un grafo G. Un dato elemental es la mínima información que se tiene en un sistema. Para que P(Vp Vj) exista. y j asocia entonces a cada arista con sus dos vértices.

Imaginemos que A es un vector ordenado de m elementos y B es otro vector ordenado de n elementos. listas enlazadas o árboles. la ordenación se denomina ordenación interna. 6 .  Intercalación merge: cuando tenemos dos vectores ya ordenados y se deseamos obtener un tercer vector también ordenado.  Intercalación Cuadrática: La idea central de este algoritmo consiste en realizar sucesivas particiones y fusiones a un arreglo para producir secuencias ordenadas de longitud cada vez mayor. un vector o tabla. en soportes de almacenamiento masivo (cintas o discos) el proceso de ordenación se denomina ordenación externa. Cuando los datos a clasificar se encuentran almacenados en archivos. En la segunda pasada las longitudes se duplican y este proceso se repite hasta que la longitud de la secuencia de la partición sea mayor o igual que el numero de elementos del arreglo original. Intercalación: Una colección de datos clasificados se puede almacenar en un archivo. En la primera pasada la longitud de la partición es de 1 y la fusión produce una secuencia ordenada de longitud 2. Cuando los datos están almacenados en vectores. podemos realizar la ordenación con un método denominado Mezcla o Merge. La operación de mezcla producirá un nuevo vector de m + n elementos.  Intercalación Binaria: El algoritmo de ordenación por intercalación simple requiere una exploración o búsqueda secuencial para localizar la posición de un elemento en la sublista ordenada. una lista enlazada o un árbol. tablas (arrayas). Si en lugar de considerar una búsqueda secuencial se realizara una búsqueda binaria se mejoraría considerablemente el algoritmo y se aumentaría la velocidad de ejecución.

Incrementar las particiones del arreglo en duplos. después comenzando con la cola de los números con dígitos 0 y terminando con los de digito 9 se regresa al arreglo original.Fin del algoritmo. etcétera. algo así como: "lo que valgas en esa posición te pongo".Repetir el proceso hasta que solo quede un arreglo de tamaño N. 5.->Ejemplo algoritmo: Inicio 2.. comenzando con el digito menos significativo y terminando con el digito más significativo. y así sucesivamente. "M" es el numero de digitos que forman la cifra a ordenar..Dividir el arreglo en N subarreglos de tamaño 1 e intercalar pares adyacentes separados de los subarreglos. 6 . 4. 3.  Distribución simple: Ordena el vector tomando cada número e insertándolo en la posición que toma su valor. no se podrán ordenar los arreglos que tengan valores repetidos y el vector necesita estar del tamaño del número más grande que se encuentre en él.  Distribución Radix: algoritmo esta basado en los valores reales de los dígitos de acuerdo a la posicion que ocupa los numeros que son ordenados para cada digito de las cifras a ordenar se efectuan los siguientes pasos. Por supuesto.. cuádruplos.. se toma cada numero en el orden original y se coloca en una de las 10 colas dependiendo del valor del digito que se este procesando. lo pongo en la posición cinco. cuando se efectúa este proceso para cada digito al arreglo esta ordenado. es decir. tengo un cinco en el arreglo.

.. R. Supongamos una colección de registros organizados como una lista lineal.. 3. o hasta al final de la lista. PERO SI TE FIJAS EN CADA AGRUPACIÓN O MONTÓN.. En general se suelen establecer ciertas normas para la creación. X  Archivos Secuencial: búsqueda secuencial. 1. ES DECIR. SI FUERAN LETRAS: X. R. Estos permiten acceder a cualquier parte del fichero en cualquier momento. Distribución Maclaren: AGRUPAMOS ELEMENTOS. ESTE GRUPO PODEMOS ORDENARLO 1. LETRAS. 899.  Archivos aleatorio:  Archivos indexados: archivo indexado es uno de los varios métodos de acceso existentes. es posible usar archivos de acceso aleatorio sólo de lectura o de escritura. Esto no es imprescindible. O.. 67. como si fueran arrays en memoria. 98. es aquel en donde los datos se guardan en registros mediante una estructura definida de tipo Type (estructura definida por nosotros) también llamada UDT. El algoritmo básico de búsqueda secuencial consiste en empezar al inicio de la lista e ir a través de cada registro hasta encontrar la llave indicada (k). PODEMOS AGRUPAR NUMEROS. 67. ETC. PODEMOS "ORDENAR" POR SU JERARQUIA CADA ELEMENTO. también se le conoce como búsqueda lineal. CLASIFICANDOLOS DE ACUERDO A CIERTO CRITERIO Y ACORDE A SU NATURALEZA. mediante este método el usuario obtiene acceso secuenciales a los registros clasificados por llaves y también acceso indexado a los mismos registros. 3.. LAS ORDENAMOS B.. SI FUERAN NUMEROS ENTEROS: 899..ETC. O. La manera de extraer registros ingresados en secuencia de entrada y no clasificados por llave es mediante un índice es un recurso para encontrar información Los archivos secuenciales indexados consta de tres partes: *área de datos 6 . Las operaciones de lectura y/o escritura pueden hacerse en cualquier punto del archivo. B. aunque no todas son obligatorias: • Abrir el archivo en un modo que te permita leer y escribir.

*área de índice *área de desbordamiento En función espacio: En teoría de la complejidad computacional. el trabajo. se dice que una función es una función de espacio constructivo si existe una Máquina de Turing que toda entrada de longitud n utiliza a lo sumo S(n) casillas (sin contar las casillas de la entrada) y además. Si S1(n) y S2(n) son funciones de espacio constructivo. lo que simplifica bastante la presentación.devuelve el tiempo transcurrido. se dice que la función S es de espacio completamente constructivo. que esta declarada en <sys/timeb. Si t no es nulo. energía.h> como sigue: struct timeb { time_t time. Una función de esta forma presenta la ventaja de ser relativamente simple en la medida de sólo hacer intervenir una variable (la cantidad producida). medido en segundos desde ``la época'' 0 horas. el valor devuelto también se guarda en la zona de memoria a la que apunta t. n. */ 6 .  En función de costo: En nuestro ejemplo actuamos como si no hubiese mas que un insumo. que asocia a cada cantidad producida de un bien el costo mínimo en insumos necesario para producirla. ftime(struct timeb *pt) -. tiempo universal coordinado (GMT) del 1^o de enero de 1970. 0 segundos. existe una Máquina de Turing tal que toda entrada de longitud n utiliza exactamente S(n) casillas. 0 minutos. para todo natural n existe una entrada de longitud n que utiliza exactamente S(n) casillas. como regla general toda producción exige no sólo trabajo sino también materias primas.devuelve la hora y la fecha actuales en pt. se devuelve ((time_t)-1) y se asigna a la variable errno un valor apropiado. /* millisegundos adicionales. Si adicionalmente. igual que `time'. Esta medida se llama el ``tiempo de calendario''. Funcion de tiempo: time_t time(time_t *t) -. /* Segundos desde epoca. de tal manera que la búsqueda de la oferta que maximiza el beneficio no se puede reducir a un cálculo simple. 2n y n!. Entre las funciones de espacio constructivo están las funciones log(n). Pero. En caso de error. Todas las funciones de espacio constructivo acotadas inferiormente por la función n son de espacio completamente constructivo. */ unsigned short int millitm. 2S1(n) y S1(n)S2(n).. herramientas etc. Las funciones de espacio constructivo se utilizan para definir clases de complejidad acotadas por espacio. también lo son S1(n)S2(n). al contrario de la función de producción que incluye tantas variables como insumos. Por ello el microeconomista razona con frecuencia a partir de la función de costos.

short int timezone.*/ /* No cero si se usa horario de verano */ En caso de éxito. se devuelve el tiempo transcurrido en segundos desde la época. En caso de error. }.itnuevolaredo.htm 6 . short int dstflag.mx/maestros/sis_com/takeyas/Apuntes/Estructura%20de %20Datos/index.edu. se devuelve ((time_t)-1) y se asigna a la variable errno un valor apropiado. /* Tiempo local medido en minutos oeste de GMT. http://www.