Historia de La Estructura de Datos.

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

República bolivariana de Venezuela

Ministerio del poder popular para la educación universitaria

I.U.T.I.R.L.A

Extensión Maturín

Estructura de datos

Profesor: Aureliano Alfonzo Integrante:

Andrés Jiménez 23.898.417 3DI

1
Índice
Introducción.......................................................................................................................................3
Historia de la estructura de datos......................................................................................................4
Los principales tipos de estructura de datos......................................................................................5
Clasificaciones en los tipos de datos..................................................................................................5
Tipos estáticos................................................................................................................................6
Tipos dinámicos..............................................................................................................................6
Tipos simples..................................................................................................................................6
Tipos estructurados........................................................................................................................6
Tipos ordinales...............................................................................................................................6
Tipos no-ordinales..........................................................................................................................7
Estructuras de datos más conocidas..................................................................................................7
Montículos binarios........................................................................................................................7
Pilas................................................................................................................................................8
Colas...............................................................................................................................................8
Por qué son útiles las estructuras de datos........................................................................................9
Conclusión........................................................................................................................................10
Anexos..............................................................................................................................................11
Bibliografía.......................................................................................................................................12

2
Introducción
Como ya sabemos, las computadoras fueron diseñadas o ideadas como una herramienta mediante
la cual podemos realizar operaciones de cálculo complicadas en un lapso de mínimo tiempo. Pero
la mayoría de las aplicaciones de este fantástico invento del hombre, son las de almacenamiento y
acceso de grandes cantidades de información.

La información que se procesa en la computadora es un conjunto de datos, que pueden ser


simples o estructurados. Los datos simples son aquellos que ocupan sólo una localidad de
memoria, mientras que los estructurados son un conjunto de casillas de memoria a las cuales
hacemos referencia mediante un identificador único.

Debido a que por lo general tenemos que tratar con conjuntos de datos y no con datos simples
(enteros, reales, booleanos, etc.) que por sí solos no nos dicen nada, ni nos sirven de mucho, es
necesario tratar con estructuras de datos adecuadas a cada necesidad.

Las estructuras de datos son una colección de datos cuya organización se caracteriza por las
funciones de acceso que se usan para almacenar y acceder a elementos individuales de datos.

3
 Historia de la estructura de datos.
En 1970, la estructura de datos hizo su primera aparición oficial junto al lenguaje de programación
PASCAL, porque anterior había sido usado el término estructura datos, pero en ese entonces 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. 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 Java3 y las bibliotecas .NET de Microsoft.

Comprender la utilidad de la estructura de datos está relacionado con saber también qué tipo de
relación tienen con los lenguajes de programación. En este sentido hay que dejar totalmente de
lado los lenguajes de bajo nivel, dado que no tienen soporte para estas estructuras.

Los que sí la tienen son los lenguajes de alto nivel, además de algunas excepciones que no resultan
trascendentes. Una buena demostración de este tipo de relación entre estructuras y lenguaje la
podemos ver en dos lenguajes muy específicos que se utilizan en la actualidad y que siguen siendo
de gran rendimiento: Pascal y C. Este tipo de soporte siempre ha ayudado a los programadores y
con el paso del tiempo las propias plataformas que acompañan a los lenguajes modernos han ido
dando soporte a estas estructuras de manera interna, permitiendo así que sigan presentes para
aprovecharlas en sus respectivos contextos. El lenguaje C++, por ejemplo, dispone de estructuras
de datos en su biblioteca Standard Template Library.

Cuando hablamos de programación, la estructura de datos está representada por una forma
determinada que tenemos de organizar los datos de un equipo informático para que podamos
utilizarlos de la manera más efectiva posible. Dependiendo del tipo de aplicación o recurso que
vayamos a usar requeriremos una estructura de datos independiente y distinta a las demás, dado
que cada una encaja en el contexto de forma determinada y con una serie de objetivos.

Con estas estructuras tenemos la posibilidad de administrar todo tipo de datos sin ningún tipo de
obstáculo, algo que en la actualidad se usa en la red para poder llevar a cabo, por ejemplo, los
sistemas de indexado de contenidos. Y también juegan un papel clave en la creación de los
mejores algoritmos, así como en su uso con lenguajes de programación que se benefician de ellas.

4
 Los principales tipos de estructura de datos.

 Dependiendo de su finalidad hay distintos tipos de estructura de datos que pueden


utilizarse y que aportan unas características determinadas en cada uno de los casos.
 Uno de los tipos más utilizados es el registro, un tipo de estructura que reúne datos que
han sido agregados. Con este tipo de estructura lo que hacemos es unificar un valor con
otra serie de valores relacionados formando una secuencia.
 También existe el vector, que concentra elementos dando lugar a una estructura ordenada
y relacionada. Sus datos coinciden en formar parte de un tipo concreto y en estar
colocados en un orden determinado. Para una mejor facilidad de uso se aplican palabras
de memoria que ayudan a su organización, mientras que también hay que tener en cuenta
que es factible que los arreglos puedan sufrir cambios de tamaño. De forma derivada el
vector asociativo permite que sean eliminados pares nombre-valor dependiendo de las
exigencias del programador y del contexto.
 Otro tipo de estructura es la que está representada por la unión, en la cual se unen
distintos datos, pero diferenciándose del registro debido a que solo se da cobijo a un valor
determinado. En el caso de requerir un campo añadido dentro del registro, se utiliza el
término de tipo variante.

La flexibilidad de las estructuras de datos permite su aprovechamiento de formas muy variadas.


Un buen reflejo de ello lo aporta el grafo, que se trata de una versión en la cual los datos están
conectados debido a la presencia de nodos. Y todos estos nodos no solo disponen de un valor
determinado que les ha sido asignado, sino que cuentan con vínculos con otros de los nodos. La
facilidad en la comunicación de estos nodos abre muchas posibilidades y es por lo que se usan en
la representación de redes. También lo facilita que a la hora de crear esta estructura se puedan
definir puntos de inicio y de final mediante la elección de nodos exactos con los que se da la
oportunidad de marcar la dirección a seguir en el proceso de trabajo.

Hay una variante específica que recibe el nombre de árbol y que se representa porque el camino
parte de un punto inicial que deriva hacia todos los demás nodos. Este tipo de grafo no da la
oportunidad de crear ciclos y también se puede agrupar en conjunto, lo que da lugar al término
bosque.

 Clasificaciones en los tipos de datos.


Existen muchas clasificaciones para los tipos de datos. Una de estas es la siguiente:

 Dinámicos.
 Estáticos.
 El tipo cadena
 Estructurados
 Simples

5
o Ordinales
o No-ordinales

Tipos estáticos.
Casi todos los tipos de datos son estáticos, la excepción son los punteros. Que un tipo de datos sea
estático quiere decir que el tamaño que ocupa en memoria no puede variar durante la ejecución
del programa. Es decir, una vez declarada una variable de un tipo determinado, a ésta se le asigna
un trozo de memoria fijo, y este trozo no se podrá aumentar ni disminuir.

Tipos dinámicos.
Dentro de esta categoría entra solamente el tipo puntero. Este tipo te permite tener un mayor
control sobre la gestión de memoria en tus programas. Con ellos puedes manejar el tamaño de tus
variables en tiempo de ejecución, o sea, cuando el programa se está ejecutando. Los punteros
quizás sean el concepto más complejo a la hora de aprender un lenguaje de programación.

Tipos simples.
Como su nombre indica son los tipos básicos. Son los más sencillos y los más fáciles de aprender.
Los tipos simples más básicos son: entero, lógico, carácter y real. Y la mayoría de los lenguajes de
programación los soportan, no como ocurre con los estructurados que pueden variar de un
lenguaje a otro.

Tipos estructurados.
Mientras que una variable de un tipo simple sólo referencia a un elemento, los estructurados se
refieren a colecciones de elementos. Las colecciones de elementos que aparecen al hablar de tipos
estructurados son muy variadas: tenemos colecciones ordenadas que se representan mediante el
tipo array, colecciones sin orden mediante el tipo conjunto, e incluso colecciones que contienen
otros tipos, son los llamados registros.

Tipos ordinales.
Dentro de los tipos simples, los ordinales son los más abundantes. De un tipo se dice que es
ordinal porque el conjunto de valores que representa se puede contar, es decir, podemos
establecer una relación uno a uno entre sus elementos y el conjunto de los números naturales.
Dentro de los tipos simples ordinales, los más importantes son:

 El tipo entero.
 El tipo lógico.
 El tipo carácter.

6
Tipos no-ordinales.
Simplificando, podríamos reducir los tipos simples no-ordinales al tipo real. Este tipo nos sirve
para declarar variables que pueden tomar valores dentro del conjunto de los números reales. A
diferencia de los tipos ordinales, los no-ordinales no se pueden contar. No se puede establecer
una relación uno a uno entre ellos y los número naturales. Dicho de otra forma, para que un
conjunto se considere ordinal se tiene que poder calcular la posición, el anterior elemento y el
siguiente de un elemento cualquiera del conjunto ¿Cuál es el sucesor de 5.12? Será 5.13, o 5.120,
o 5.121, ...

 Estructuras de datos más conocidas.


 Arrays.

Constan de un índice para acceder a una posición concreta y del valor que el mismo almacena.

Montículos binarios.

Es una forma de guardar los datos de tal manera, que, aunque no estén ordenados, se puedan
retirar de ese conjunto datos de forma ordenada.

Esto permite una gran velocidad, por ejemplo, a la hora de implementar una cola de prioridades
donde queremos que cada elemento que insertemos, si insertamos de repente muchos elementos

7
con una prioridad, el primero que se coja sea el que tenga más o menos prioridad, depende del
tipo de montículo.

Pilas

Sirven, por ejemplo, para implementar el proceso de deshacer, como cuando escribimos en un
editor de texto y pulsamos CTRL+Z, lo que podemos implementar con una pila.

Como vemos en la imagen, tenemos una pila vacía, el bloque 1 sería equivalente a escribir algo. El
bloque 2 sería el equivalente a borrar una letra, por ejemplo.

Cuando utilizamos deshacer, lo que haría sería coger la última acción realizada, que tendría una
función que haría ciertas operaciones con el hecho de haber borrado una letra y la volvería a
poner.

Colas

Es otra estructura de datos muy útil, que sirve, entre otras cosas, para implementar una cola o
para comunicar procesos asíncronos.

8
 Por qué son útiles las estructuras de datos.
Las estructuras de datos son útiles porque nos permiten tener una batería de herramientas para
solucionar ciertos tipos de problemas. Además, nos permiten hacer un software más eficiente
optimizando recursos, algo muy útil para IoT y para los entornos que trabajan con Big Data.

9
Conclusión
Las estructuras de datos existen para ayudarnos en la compleja tarea de resolver problemas en
programación, no importa el lenguaje de programación que utilices, si vas a manejar datos de
cualquier tipo siempre caerás en el uso de estructuras de datos. Dicho esto, podemos concluir que
tener una base sólida de entendimiento sobre las características de una estructura de datos nos
llevarán a hacer la mejor elección para resolver nuestro problema, y de esta forma alejarnos de
hacer una mala elección que nos pueda costar mucho: mucha memoria, mucho tiempo de
ejecución, mucho tiempo de desarrollo.

10
Anexos
Compendio de estructuras de datos.

Algoritmo de ordenación y búsqueda.

11
Bibliografía.
https://es.wikipedia.org/wiki/Estructura_de_datos#:~:text=En%20ciencias%20de%20la
%20computaci%C3%B3n,ser%20utilizados%20de%20manera%20eficiente.

https://www.universidadviu.com/estructura-datos-definicion-tipos-principales/

https://openwebinars.net/blog/que-son-las-estructuras-de-datos-y-por-que-son-tan-utiles/
#:~:text=Las%20estructuras%20de%20datos%20son%20%C3%BAtiles%20porque%20nos
%20permiten%20tener,que%20trabajan%20con%20Big%20Data.

https://upload.wikimedia.org/wikipedia/commons/5/51/APUNTES.pdf

https://openwebinars.net/blog/que-son-las-estructuras-de-datos-y-por-que-son-tan-utiles/
#:~:text=Las%20estructuras%20de%20datos%20son%20%C3%BAtiles%20porque%20nos
%20permiten%20tener,que%20trabajan%20con%20Big%20Data.

12

También podría gustarte