fbpx
Wikipedia

Estructura de datos

En ciencias de la computación, una estructura de datos es una forma particular de organizar datos en una computadora para que puedan ser utilizados de manera eficiente. Diferentes tipos de estructuras de datos son adecuados para diferentes tipos de aplicaciones, y algunos son altamente especializados para tareas específicas.

Ejemplo de tabla de hash.

Las estructuras de datos son un medio para manejar grandes cantidades de datos de manera eficiente para usos tales como grandes bases de datos y servicios de indización de Internet. Por lo general, las estructuras de datos eficientes son clave para diseñar algoritmos eficientes. Algunos métodos formales de diseño y lenguajes de programación destacan las estructuras de datos, en lugar de los algoritmos, como el factor clave de organización en el diseño de software.

Descripción

Las estructuras de datos se basan generalmente en la capacidad de un ordenador para recuperar y almacenar datos en cualquier lugar de su memoria.

Tipos de estructura de datos

Las estructuras de datos pueden ser de diferentes tipos, dependiendo de la técnica que se utilice para su almacenamiento y recuperación, estos tipos son los siguientes:

  • Estructura de datos estática.
  • Estructura de datos dinámica.

Según la secuencia que se presenta entre cada elemento al momento de realizar el recorrido entre los elementos de la estructura de datos, esta se puede clasificar en los siguientes tipos:

  • Estructura de datos lineal.
  • Estructura de datos no lineal.

Ejemplos

 

Existen numerosos tipos de estructuras de datos, generalmente construidas sobre otras más simples:

  • Un vector es una serie de elementos en un orden específico, por lo general todos del mismo tipo (si bien los elementos pueden ser de casi cualquier tipo). Se accede a los elementos utilizando un entero como índice para especificar el elemento que se requiere. Las implementaciones típicas asignan palabras de memoria contiguas a los elementos de los arreglos (aunque no siempre es el caso). Los arreglos pueden cambiar de tamaño o tener una longitud fija.
  • Un vector asociativo (también llamado diccionario o mapa) es una variante más flexible que una matriz, en la que se puede añadir y eliminar libremente pares nombre-valor. Una tabla de hash es una implementación usual de un arreglo asociativo.
  • Un registro (también llamado tupla o estructura) es una estructura de datos agregados. Un registro es un valor que contiene otros valores, típicamente en un número fijo y la secuencia y por lo general un índice por nombres. Los elementos de los registros generalmente son llamados campos o celdas.
  • Una unión es una estructura de datos que especifica cuál de una serie de tipos de datos permitidos podrá ser almacenada en sus instancias, por ejemplo flotante o entero largo. En contraste con un registro, que se podría definir para contener un flotante y un entero largo, en una unión sólo hay un valor a la vez. Se asigna suficiente espacio para contener el tipo de datos de cualquiera de los miembros.
  • Un tipo variante (también llamado registro variante o unión discriminada) contiene un campo adicional que indica su tipo actual.
  • Un conjunto es un tipo de datos abstracto que puede almacenar valores específicos, sin orden particular y sin valores duplicados.
  • Un multiconjunto es un tipo de datos abstracto que puede almacenar valores específicos, sin orden particular. A diferencia de los conjuntos, los multiconjuntos admiten repeticiones.
  • Un grafo es una estructura de datos conectada compuesta por nodos. Cada nodo contiene un valor y una o más referencias a otros nodos. Los grafos pueden utilizarse para representar redes, dado que los nodos pueden referenciarse entre ellos. Las conexiones entre nodos pueden tener dirección, es decir un nodo de partida y uno de llegada.
  • Un árbol es un caso particular de grafo dirigido en el que no se admiten ciclos y existe un camino desde un nodo llamado raíz hasta cada uno de los otros nodos. Una colección de árboles es llamada un bosque.
  • Una clase es una plantilla para la creación de objetos de datos según un modelo predefinido. Las clases se utilizan como representación abstracta de conceptos, incluyen campos como los registros y operaciones que pueden consultar el valor de los campos o cambiar sus valores.

Soporte en los lenguajes

La mayoría de los lenguajes ensambladores y algunos lenguajes de bajo nivel, tales como BCPL, carecen de soporte de estructuras de datos. En cambio, muchos lenguajes de alto nivel y algunos lenguajes ensambladores de alto nivel, tales como MASM, tienen algún tipo de soporte incorporado para ciertas estructuras de datos, tales como los registros y arreglos. Por ejemplo, los lenguajes C y Pascal soportan estructuras y registros, respectivamente, además de arreglos y matrices multidimensionales.[1][2]

La mayoría de los lenguajes de programación disponen de algún tipo de biblioteca o mecanismo que permita el uso de estructuras de datos en los programas. Los lenguajes modernos por lo general vienen con bibliotecas estándar que implementan las estructuras de datos más comunes. Ejemplos de ello son la biblioteca Standard Template Library de C++, las colecciones de Java[3]​ y las bibliotecas .NET de Microsoft.

Estructuras de datos en programación

En programación, una estructura de datos puede ser declarada inicialmente escribiendo una palabra reservada, luego un identificador para la estructura y un nombre para cada uno de sus miembros, sin olvidar los tipos de datos que estos representan. Generalmente, cada miembro se separa con algún tipo de operador, carácter o palabra reservada.

En el lenguaje de programación Pascal, es posible crear una estructura de datos de la forma mencionada. La sintaxis básica es:

 Estruct Identificador, _  Miembro1:TipoDeDato, _  Miembro2:TipoDeDato, _  ...  Miembro9:TipoDeDato 

Para acceder a los miembros de una estructura, primero se debe crear una referencia a esta, generalmente con una variable de tipo; luego se pueden editar y obtener los datos de los miembros libremente.

 Estruc Estructura,Miembro1:Entero,Miembro2:Cadena,Miembro3:Byte Var Variable:Estructura Variable.Miembro1 = 40000 Variable.Miembro2 = "Hola Mundo" Variable.Miembro3 = 255 Mensaje(Variable.Miembro2) ' Muestra "Hola Mundo" 

Referencias

  1. «The GNU C Manual». Free Software Foundation. Consultado el 23 de marzo de 2016. 
  2. «Free Pascal: Reference Guide». Free Pascal. Consultado el 23 de marzo de 2016. 
  3. «Java tutorial. Trail: Collections». Oracle. Consultado el 23 de marzo de 2016. 

Véase también

  •   Datos: Q175263
  •   Multimedia: Data structures

estructura, datos, ciencias, computación, estructura, datos, forma, particular, organizar, datos, computadora, para, puedan, utilizados, manera, eficiente, diferentes, tipos, estructuras, datos, adecuados, para, diferentes, tipos, aplicaciones, algunos, altame. En ciencias de la computacion una estructura de datos es una forma particular de organizar datos en una computadora para que puedan ser utilizados de manera eficiente Diferentes tipos de estructuras de datos son adecuados para diferentes tipos de aplicaciones y algunos son altamente especializados para tareas especificas Ejemplo de tabla de hash Las estructuras de datos son un medio para manejar grandes cantidades de datos de manera eficiente para usos tales como grandes bases de datos y servicios de indizacion de Internet Por lo general las estructuras de datos eficientes son clave para disenar algoritmos eficientes Algunos metodos formales de diseno y lenguajes de programacion destacan las estructuras de datos en lugar de los algoritmos como el factor clave de organizacion en el diseno de software Indice 1 Descripcion 2 Tipos de estructura de datos 3 Ejemplos 4 Soporte en los lenguajes 5 Estructuras de datos en programacion 6 Referencias 7 Vease tambienDescripcion EditarLas estructuras de datos se basan generalmente en la capacidad de un ordenador para recuperar y almacenar datos en cualquier lugar de su memoria Tipos de estructura de datos EditarLas estructuras de datos pueden ser de diferentes tipos dependiendo de la tecnica que se utilice para su almacenamiento y recuperacion estos tipos son los siguientes Estructura de datos estatica Estructura de datos dinamica Segun la secuencia que se presenta entre cada elemento al momento de realizar el recorrido entre los elementos de la estructura de datos esta se puede clasificar en los siguientes tipos Estructura de datos lineal Estructura de datos no lineal Ejemplos Editar Existen numerosos tipos de estructuras de datos generalmente construidas sobre otras mas simples Un vector es una serie de elementos en un orden especifico por lo general todos del mismo tipo si bien los elementos pueden ser de casi cualquier tipo Se accede a los elementos utilizando un entero como indice para especificar el elemento que se requiere Las implementaciones tipicas asignan palabras de memoria contiguas a los elementos de los arreglos aunque no siempre es el caso Los arreglos pueden cambiar de tamano o tener una longitud fija Un vector asociativo tambien llamado diccionario o mapa es una variante mas flexible que una matriz en la que se puede anadir y eliminar libremente pares nombre valor Una tabla de hash es una implementacion usual de un arreglo asociativo Un registro tambien llamado tupla o estructura es una estructura de datos agregados Un registro es un valor que contiene otros valores tipicamente en un numero fijo y la secuencia y por lo general un indice por nombres Los elementos de los registros generalmente son llamados campos o celdas Una union es una estructura de datos que especifica cual de una serie de tipos de datos permitidos podra ser almacenada en sus instancias por ejemplo flotante o entero largo En contraste con un registro que se podria definir para contener un flotante y un entero largo en una union solo hay un valor a la vez Se asigna suficiente espacio para contener el tipo de datos de cualquiera de los miembros Un tipo variante tambien llamado registro variante o union discriminada contiene un campo adicional que indica su tipo actual Un conjunto es un tipo de datos abstracto que puede almacenar valores especificos sin orden particular y sin valores duplicados Un multiconjunto es un tipo de datos abstracto que puede almacenar valores especificos sin orden particular A diferencia de los conjuntos los multiconjuntos admiten repeticiones Un grafo es una estructura de datos conectada compuesta por nodos Cada nodo contiene un valor y una o mas referencias a otros nodos Los grafos pueden utilizarse para representar redes dado que los nodos pueden referenciarse entre ellos Las conexiones entre nodos pueden tener direccion es decir un nodo de partida y uno de llegada Un arbol es un caso particular de grafo dirigido en el que no se admiten ciclos y existe un camino desde un nodo llamado raiz hasta cada uno de los otros nodos Una coleccion de arboles es llamada un bosque Una clase es una plantilla para la creacion de objetos de datos segun un modelo predefinido Las clases se utilizan como representacion abstracta de conceptos incluyen campos como los registros y operaciones que pueden consultar el valor de los campos o cambiar sus valores Soporte en los lenguajes EditarLa mayoria de los lenguajes ensambladores y algunos lenguajes de bajo nivel tales como BCPL carecen de soporte de estructuras de datos En cambio muchos lenguajes de alto nivel y algunos lenguajes ensambladores de alto nivel tales como MASM tienen algun tipo de soporte incorporado para ciertas estructuras de datos tales como los registros y arreglos Por ejemplo los lenguajes C y Pascal soportan estructuras y registros respectivamente ademas de arreglos y matrices multidimensionales 1 2 La mayoria de los lenguajes de programacion disponen de algun tipo de biblioteca o mecanismo que permita el uso de estructuras de datos en los programas Los lenguajes modernos por lo general vienen con bibliotecas estandar que implementan las estructuras de datos mas comunes Ejemplos de ello son la biblioteca Standard Template Library de C las colecciones de Java 3 y las bibliotecas NET de Microsoft Estructuras de datos en programacion EditarEn programacion una estructura de datos puede ser declarada inicialmente escribiendo una palabra reservada luego un identificador para la estructura y un nombre para cada uno de sus miembros sin olvidar los tipos de datos que estos representan Generalmente cada miembro se separa con algun tipo de operador caracter o palabra reservada En el lenguaje de programacion Pascal es posible crear una estructura de datos de la forma mencionada La sintaxis basica es Estruct Identificador Miembro1 TipoDeDato Miembro2 TipoDeDato Miembro9 TipoDeDato Para acceder a los miembros de una estructura primero se debe crear una referencia a esta generalmente con una variable de tipo luego se pueden editar y obtener los datos de los miembros libremente Estruc Estructura Miembro1 Entero Miembro2 Cadena Miembro3 Byte Var Variable Estructura Variable Miembro1 40000 Variable Miembro2 Hola Mundo Variable Miembro3 255 Mensaje Variable Miembro2 Muestra Hola Mundo Referencias Editar The GNU C Manual Free Software Foundation Consultado el 23 de marzo de 2016 Free Pascal Reference Guide Free Pascal Consultado el 23 de marzo de 2016 Java tutorial Trail Collections Oracle Consultado el 23 de marzo de 2016 Vease tambien Editaralgoritmo lenguaje de programacion tipo de dato union de datos Datos Q175263 Multimedia Data structures Obtenido de https es wikipedia org w index php title Estructura de datos amp oldid 137917975, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos