estructura de datos

3
Indice 1. Base De Datos 2. Recursividad 3. Lista 4. Árboles binarios. 5. Variables Constantes 1. Base De Datos Una base de datos de red esta formado por una colección de registros, los cuales están conectados entre sí por medio de enlaces. Registro.- Es una colección de campos (atributos) Campos.- Contiene almacenado solamente un valor. Enlace.- Asociación entre dos registros, así que podemos verla como una relación estrictamente binaria. Estructura de datos de red, abarca más que la estructura de árbol porque un nodo "hijo" en la estructura de red puede tener más de un padre. Diagramas de estructura de datos. Es un esquema que representa el diseño de una base de datos de red. Este modelo se basa en representaciones entre registros por medio de ligas, existen relaciones en las que participan solo dos entidades(binarias) y relaciones en las que participan más de dos entidades (generales) ya sea con o sin atributo descriptivo en la relación. La forma de diagramado consta de dos componentes básicos: Celdas: representan a los campos del registro. Líneas: representan a los enlaces entre los registros. su representación gráfica se basa en el acomodo de los campos de un registro en un conjunto de celdas que se ligan con otro(s) registro(s) Las estructuras de datos según la cardinalidad se representan en los siguientes casos: Conceptos básicos. Algoritmo.- Es un conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas definidas. Algoritmo.- Es una secuencia finita de instrucciones, cada una de las cuales tiene un significado preciso y puede ejecutarse con una cantidad finita de esfuerzo en un tiempo finito. Ha de tener las siguientes características: Legible, correcto, modular, eficiente, estructurado, no ambiguo y a ser posible se ha de desarrollar en el menor tiempo posible. Características de un algoritmo de computador: Correcto Legible eficiente Diseño de algoritmos. Fases: Diseño: se dan las especificaciones en lenguaje natural y se crea un primer modelo matemático apropiado. La solución en esta etapa es un algoritmo expresado de manera muy informal. Implementación: El programador convierte el algoritmo en código, siguiendo alguna de estas 3 metodologías. * TOP-DOWN se alcanza el programa sustituyendo las palabras del palabras del pseudocódigo por secuencias de proposiciones cada vez mas detalladas, en un llamado refinamiento progresivo. * BOTTON-UP parte de las herramientas mas primitivas hasta que se llega al programa. Pruebas: Es un material que se pasa al programa para detectar posibles errores.Esto no quiere decir que el diseño no tenga errores, puede tenerlos para otros datos. 2. Recursividad Definición. Hablamos de recursividad, tanto en el ámbito informático como en el ámbito matemático, cuando definimos algo (un tipo de objetos, una propiedad o una operación) en función de sí mismo. La recursividad en programación es una herramienta sencilla, muy útil y potente. Tipos. Podemos distinguir dos tipos de recursividad:

Upload: mg-df

Post on 16-Sep-2015

1 views

Category:

Documents


0 download

DESCRIPTION

Indice1. Base De Datos2. Recursividad3. Lista4. Árboles binarios.5. Variables Constantes1. Base De DatosUna base de datos de red esta formado por una colección de registros, los cuales están conectados entre sí por medio de enlaces.Registro.- Es una colección de campos (atributos)Campos.- Contiene almacenado solamente un valor.Enlace.- Asociación entre dos registros, así que podemos verla como una relación estrictamente binaria.Estructura de datos de red, abarca más que la estructura de árbol porque un nodo "hijo" en la estructura de red puede tener más de un padre.Diagramas de estructura de datos.Es un esquema que representa el diseño de una base de datos de red. Este modelo se basa en representaciones entre registros por medio de ligas, existen relaciones en las que participan solo dos entidades(binarias) y relaciones en las que participan más de dos entidades (generales) ya sea con o sin atributo descriptivo en la relación.La forma de diagramado consta de dos componentes básicos:Celdas: representan a los campos del registro.Líneas: representan a los enlaces entre los registros. su representación gráfica se basa en el acomodo de los campos de un registro en un conjunto de celdas que se ligan con otro(s) registro(s)Las estructuras de datos según la cardinalidad se representan en los siguientes casos:Conceptos básicos.Algoritmo.- Es un conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas definidas.Algoritmo.- Es una secuencia finita de instrucciones, cada una de las cuales tiene un significado preciso y puede ejecutarse con una cantidad finita de esfuerzo en un tiempo finito. Ha de tener las siguientes características: Legible, correcto, modular, eficiente, estructurado, no ambiguo y a ser posible se ha de desarrollar en el menor tiempo posible.Características de un algoritmo de computador:CorrectoLegibleeficienteDiseño de algoritmos.Fases:Diseño: se dan las especificaciones en lenguaje natural y se crea un primer modelo matemático apropiado. La solución en esta etapa es un algoritmo expresado de manera muy informal.Implementación: El programador convierte el algoritmo en código, siguiendo alguna de estas 3 metodologías.* TOP-DOWN se alcanza el programa sustituyendo las palabras del palabras del pseudocódigo por secuencias de proposiciones cada vez mas detalladas, en un llamado refinamiento progresivo.* BOTTON-UP parte de las herramientas mas primitivas hasta que se llega al programa.Pruebas: Es un material que se pasa al programa para detectar posibles errores.Esto no quiere decir que el diseño no tenga errores, puede tenerlos para otros datos.2. RecursividadDefinición.Hablamos de recursividad, tanto en el ámbito informático como en el ámbito matemático, cuando definimos algo (un tipo de objetos, una propiedad o una operación) en función de sí mismo. La recursividad en programación es una herramienta sencilla, muy útil y potente.Tipos.Podemos distinguir dos tipos de recursividad:Directa: Cuando un subprograma se llama a si mismo una o mas veces directamente.Indirecta: Cuando se definen una serie de subprogramas usándose unos a otros.Características.Un algoritmo recursivo consta de una parte recursiva, otra iterativa o no recursiva y una condición de terminación. La parte recursiva y la condición de terminación siempre existen. En cambio la parte no recursiva puede coincidir con la condición de terminación.Algo muy importante a tener en cuenta cuando usemos la recursividad es que es necesario asegurarnos que llega un momento en que no hacemos más llamadas recursivas. Si no se cumple esta condición el programa no parará nunca.Ventajas e inconvenientes.La principal ventaja es la simplicidad de comprensión y su gran potencia, favoreciendo la resolución de problemas de manera natural, sencilla y elegante; y facilidad para comprobar y convencerse de que la solución del problema es correcta.El principal i

TRANSCRIPT

  • Indice

    1. Base De Datos

    2. Recursividad

    3. Lista

    4. rboles binarios.

    5. Variables Constantes

    1. Base De Datos

    Una base de datos de red esta formado por una coleccin de registros, los cuales estn conectados entre s

    por medio de enlaces.

    Registro.- Es una coleccin de campos (atributos)

    Campos.- Contiene almacenado solamente un valor.

    Enlace.- Asociacin entre dos registros, as que podemos verla como una relacin estrictamente binaria.

    Estructura de datos de red, abarca ms que la estructura de rbol porque un nodo "hijo" en la estructura de

    red puede tener ms de un padre.

    Diagramas de estructura de datos.

    Es un esquema que representa el diseo de una base de datos de red. Este modelo se basa en

    representaciones entre registros por medio de ligas, existen relaciones en las que participan solo dos

    entidades(binarias) y relaciones en las que participan ms de dos entidades (generales) ya sea con o sin

    atributo descriptivo en la relacin.

    La forma de diagramado consta de dos componentes bsicos:

    Celdas: representan a los campos del registro.

    Lneas: representan a los enlaces entre los registros.

    su representacin grfica se basa en el acomodo de los campos de un registro en un conjunto de celdas que

    se ligan con otro(s) registro(s)

    Las estructuras de datos segn la cardinalidad se representan en los siguientes casos:

    Conceptos bsicos.

    Algoritmo.- Es un conjunto de reglas que permiten obtener un resultado determinado a partir de ciertas reglas

    definidas.

    Algoritmo.- Es una secuencia finita de instrucciones, cada una de las cuales tiene un significado preciso y

    puede ejecutarse con una cantidad finita de esfuerzo en un tiempo finito. Ha de tener las siguientes

    caractersticas: Legible, correcto, modular, eficiente, estructurado, no ambiguo y a ser posible se ha de

    desarrollar en el menor tiempo posible.

    Caractersticas de un algoritmo de computador:

    Correcto

    Legible

    eficiente

    Diseo de algoritmos.

    Fases:

    Diseo: se dan las especificaciones en lenguaje natural y se crea un primer modelo matemtico apropiado. La

    solucin en esta etapa es un algoritmo expresado de manera muy informal.

    Implementacin: El programador convierte el algoritmo en cdigo, siguiendo alguna de estas 3 metodologas.

    * TOP-DOWN se alcanza el programa sustituyendo las palabras del palabras del pseudocdigo por

    secuencias de proposiciones cada vez mas detalladas, en un llamado refinamiento progresivo.

    * BOTTON-UP parte de las herramientas mas primitivas hasta que se llega al programa.

    Pruebas: Es un material que se pasa al programa para detectar posibles errores.Esto no quiere decir que el

    diseo no tenga errores, puede tenerlos para otros datos.

    2. Recursividad

    Definicin.

    Hablamos de recursividad, tanto en el mbito informtico como en el mbito matemtico, cuando definimos

    algo (un tipo de objetos, una propiedad o una operacin) en funcin de s mismo. La recursividad

    en programacin es una herramienta sencilla, muy til y potente.

    Tipos.

    Podemos distinguir dos tipos de recursividad:

  • Directa: Cuando un subprograma se llama a si mismo una o mas veces directamente.

    Indirecta: Cuando se definen una serie de subprogramas usndose unos a otros.

    Caractersticas.

    Un algoritmo recursivo consta de una parte recursiva, otra iterativa o no recursiva y una condicin de

    terminacin. La parte recursiva y la condicin de terminacin siempre existen. En cambio la parte no recursiva

    puede coincidir con la condicin de terminacin.

    Algo muy importante a tener en cuenta cuando usemos la recursividad es que es necesario asegurarnos que

    llega un momento en que no hacemos ms llamadas recursivas. Si no se cumple esta condicin el programa

    no parar nunca.

    Ventajas e inconvenientes.

    La principal ventaja es la simplicidad de comprensin y su gran potencia, favoreciendo la resolucin

    de problemas de manera natural, sencilla y elegante; y facilidad para comprobar y convencerse de que la

    solucin del problema es correcta.

    El principal inconveniente es la ineficiencia tanto en tiempo como en memoria, dado que para permitir su uso

    es necesario transformar el programa recursivo en otro iterativo, que utiliza bucles y pilas para almacenar

    las variables.

    Estructura Representacin

    Una tabla es una estructura homognea en la que todos los elementos que la componen son del mismo

    tipo.Son estticas, no crecen ni decrecen en tiempo de ejecucin y tienen un lmite preestablecido antes de la

    compilacin.

    Para acceder a los elementos de una tabla se utilizan los "ndices" y estos pueden ser de cualquier tipo

    escalar de PASCAL (enumerados, INTEGER, CHAR, subrango, BOOLEAN).Por ello las tablas son

    estructuras de acceso directo o acceso por ndice.

    Bsqueda secuencial.

    Bsqueda secuencial con centinela.

    Almacenamiento externo

    Usamos espacios fuera de las de la tabla para colocar las colisiones. Dentro del almacenamiento externo hay

    varios tipos.

    Encadenamiento directo y zona de overflow.

    Encadenamiento directo.

    Esta realizacin considera la tabla como un vector en el que cada posicin contiene un elemento y un campo

    adicional con el comienzo de la lista de elementos con los que existe colisin.Es decir, las posibles colisiones

    se resuelven construyendo una lista de elementos cuya imagen hash coincida.

    Ventajas: eficientes y rpidos.

    Inconvenientes: Para cada elemento de la lista se debe reserVAR un espacio para punteros lo que significa un

    desaprovechamiento de memoria en el "manejo de lista".

    Zona de Overflow.

    Se reserva espacio en cierta zona de externa a la propia tabla, de aproximadamente el 10% de su tamao,

    para introducir las colisiones.Cada sinnimo se almacena en la primera celda disponible de la zona de

    overflow.

    Inconveniente: Desaprovechamiento de memoria (poco).Es poco eficiente cuando se han producido

    colisiones, ya que la bsqueda en la zona de overflow es secuencial.

    Ventajas: Ocupa menos memoria que el anterior.El algoritmo de bsqueda y de insercin es mas sencillo.

    Almacenamiento interno

    Cuando el espacio usado para almacenar las colisiones esta dentro de los lmites de la tabla.Dentro del

    almacenamiento interno estn:Encadenamiento directo y encadenamiento vaco.

    Encadenamiento directo.

    Se usa dentro de la tabla un campo de tipo puntero para que apunte al siguiente colisionado, que estar

    dentro de la tabla.En ese campo se guarda la direccin del siguiente colisionado.

    En el encadenamiento directo con zona de overflow podemos sobredimensionar la tabla para almacenar las

    colisiones, en esta zona las casillas estarn encadenadas con una variable que apunte al primer espacio libre

    de la zona de overflow.Consiste en enlazar todos los elementos cuyas claves generan igual indice primario

    por medio de enlaces dentro de la tabla a las nuevas posiciones ocupadas por estos elementos.

    Inconvenientes: Espacio reservado en cada elemento para el enlace.

  • Ventajas: Ms rpido que el externo con zona de overflow ya que evita la bsqueda secuencial.

    Ocupacin de memoria: Depende del mtodo usado.El primer caso ocupa menos memoria, y el segundo es

    ms rpido.

    Leer ms: http://www.monografias.com/trabajos10/esda/esda.shtml#ixzz3cyx9sAlM