Explica que son las estructuras de datos
para que sirven
cokmo se utilizan
los difeentes tipos de estructuras
las clasificaciones de las mismas
y da ejemplos de sus diferentes usos
adicionalmente da una introducción a temás de programación prioritarios
3. Estructura de Datos:
Es una clase de datos que se puede caracterizar por su organización y operaciones definidas
sobre ella.
En un lenguaje de programación, un tipo de dato está definido por el conjunto de valores que
representa y por el conjunto de operaciones que se pueden realizar con dicho tipo de dato.
Las estructuras de datos estáticas:
Tienen un número fijo de elementos que queda determinado desde
la declaración de la estructura en el comienzo del programa.
Las estructuras de datos estáticas simples:
Son aquellas que no están compuestas por otras estructuras de datos, abarcan solo una
casilla de la memoria.
Lógico, Carácter, Entero, Real .
Las estructuras de datos estáticas Compuestas:
Abarcan mas de una casilla de memoria.
Strings, Arreglos, Conjuntos, Registros, Archivos.
4. Las estructuras de datos dinámicas:
Nos permiten lograr un importante objetivo de la programación
orientada a objetos: la reutilización de objetos.
Lineales:
En este tipo de estructuras los elementos se encuentran ubicados
secuencialmente.
Pilas, Colas, Listas.
No Lineales:
En este tipo de estructuras los elementos no se encuentran ubicados
secuencialmente.
Árboles y Gráfos.
5. Es aquel definido por el programador que puede ser manipulado de una manera similar
a los definidos por el sistema.
Un tipo de dato abstracto corresponde a un conjunto (tal vez tamaño infinito) de valores
lícitos y de un número de operaciones primitivas que pueden ejecutarse sobre ellos. El
usuario puede crear variables con valores que fluctúen dentro del conjunto aceptado y
actuar sobre dichos valores por medio de las operaciones definidas.
Existen dos tipos de TDA’s:
Los Datos Estáticos.
Los Datos Dinámicos.
6. su tamaño y forma es constante durante la ejecución de un programa y por tanto se
determinan en tiempo de compilación.
Tienen el problema de que hay que dimensionar la estructura de antemano, lo que
puede conllevar desperdicio o falta de memoria.
Ejemplos:
Array: La estructura de datos más simple es el array lineal (o unidimensional). Un array
lineal es una lista de números finitos de datos similares, referenciados por medio de un
conjunto de “n” números consecutivos.
Registros: Es un tipo de dato estructurado formado por la unión de varios elementos bajo una
misma estructura.
Otros ejemplos podrían ser los archivos o las cadenas.
7. su tamaño y forma es variable (o puede serlo) a lo largo de un programa, por lo que se
crean y destruyen en tiempo de ejecución. Esto permite dimensionar la estructura de
datos de una forma precisa: se va asignando memoria en tiempo de ejecución según se
va necesitando.
Ejemplos:
Pilas: También denominada sistema último-dentro primero-fuera (LIFO), es una lista lineal
en la cual las inserciones y extracciones tienen lugar sólo por un extremo llamado cúspide.
Colas: también denominada sistema primero-dentro primero-fuera (FIFO), es una lista lineal
en la cual las extracciones se realizan siempre por un extremo llamado frente y las
inserciones por el extremo contrario llamado final de la lista.
Grafos: Los datos contienen, en algunos casos, relaciones entre ellos que no es
necesariamente jerárquica. La estructura de datos que refleja esta relación recibe el nombre
de grafo.
8. Es un espacio de almacenamiento que ya está definido desde el principio de
ejecución del programa.
Para que un objeto pueda ser almacenado en memoria estática su tamaño (número
de bytes necesarios para su almacenamiento) ha de ser conocido en tiempo de
compilación.
9. Es un espacio de almacenamiento que se solicita en tiempo de ejecución. De esa
manera, a medida que el proceso va necesitando espacio para más líneas, va
solicitando más memoria al sistema operativo para guardarlas.
10. Hace referencia a los factores que intervienen al momento de ejecución de un
programa y su relación con la duración de este. Se tiene que tomar en cuenta
circunstancias como:
La velocidad de procesamiento.
Características del programa.
Tamaño y la calidad del código elaborado.
11. Hace referencia a la memoria que utiliza un programa para su ejecución. Lo que
implica que la eficiencia en memoria de un algoritmo lo indica la cantidad de
espacio requerido para ejecutarlo, es decir, el espacio memoria que ocupan todas
las variables propias del algoritmo.
12. Un algoritmo será más eficiente comparado con otro, siempre que consuma menos
recursos, como el tiempo y espacio de memoria necesarios para ejecutarlo.
La complejidad de un algoritmo es aquella función que da el tiempo de y el espacio
utilizado por el algoritmo en función del tamaño de la entrada.
En general, si aumentamos el espacio necesario para almacenar los datos,
conseguiremos un mejor rendimiento en el tiempo y viceversa.