Introducción a la estructura de datos:
El objetivo por el cual fue el presente trabajo de Estructura de Datos, es el establecer un material de apoyo y consulta para ti que eres alumno de Ingeniería Informática y de Sistemas o de cualquier otra área afín en la cual se imparta la materia de Estructura de Datos. Una vez que hayas terminado de revisar detenidamente este material, serás capaz de establecer estructuras lógicas de datos que te permitan hacer un uso más eficiente del espacio de memoria, de minimizar los tiempos de acceso, así como de lograr formas más efectivas de inserción y eliminación de datos en estructuras de almacenamiento. Ahora que ya sabes en lo que te puede ayudar este tutorial, puedes empezar a hacer uso de él, consultando todas tu tareas y dudas que tengas acerca de la materia.
Se desea guardar los sueldos de 5 operarios.
Según lo conocido deberíamos definir 5 variables si queremos tener en un cierto momento los 5 sueldos almacenados en memoria.
#include<iostream>#include<stdlib.h>#include<conio.h>using namespace std;
Es una colección o conjunto de variables relacionadas entre sí, por el hecho de que todas tienen el mismo nombre y son del mismo tipo.Un arreglo es una variable capaz de guardar uno o más valores del mismo tipo. Un arreglo consta de posiciones de memoria contiguas, para referirse a una posición en particular o elemento dentro de un arreglo especificamos el nombre del arreglo y el número de posición del elemento particular dentro del mismo.
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.
Una estructura de datos se caracteriza por lo siguiente:
- Pueden descomponerse en los elementos que la forman.
- La manera en que se colocan los elementos dentro de la estructura afectará la forma en que se realicen los accesos a cada elemento.
- La colocación de los elementos y la manera en que se accede a ellos puede ser encapsulada.
Ejemplo: Supongamos que nos enfrentamos a un problema como este: Una empresa que cuenta con 150 empleados, desea establecer una estadística sobre los salarios de sus empleados, y quiere saber cual es el salario promedio, y también cuantos de sus empleados gana entre $1250.00 y $2500.00.
Si tomamos la decisión de tratar este tipo de problemas con datos simples, pronto nos percataríamos del enorme desperdicio de tiempo, almacenamiento y velocidad. Es por eso que para situaciones de este tipo la mejor solución son los datos estructurados.
V. OBJETIVOS:
El objetivo por el cual fue el presente trabajo de Estructura de Datos, es el establecer un material de apoyo y consulta para ti que eres alumno de Ingeniería Informática y de Sistemas o de cualquier otra área afín en la cual se imparta la materia de Estructura de Datos. Una vez que hayas terminado de revisar detenidamente este material, serás capaz de establecer estructuras lógicas de datos que te permitan hacer un uso más eficiente del espacio de memoria, de minimizar los tiempos de acceso, así como de lograr formas más efectivas de inserción y eliminación de datos en estructuras de almacenamiento. Ahora que ya sabes en lo que te puede ayudar este tutorial, puedes empezar a hacer uso de él, consultando todas tu tareas y dudas que tengas acerca de la materia.
Acceder a cualquier elemento del arreglo sin tener que consultar a elementos anteriores o posteriores, esto mediante el uso de un índice para cada elemento del arreglo que nos da su posición relativa.
#include<iostream>
using namespace std;
int main(){
int n1,n2, suma = 0, resta = 0, multiplicacion=0,division=0;
cout<<"Digite un numero: "; cin>>n1;
cout<<"Digite otro numero: "; cin>>n2;
suma = n1 + n2;
resta = n1 - n2;
multiplicacion = n1 * n2;
division = n1 / n2;
cout<<"\nLa suma es: "<<suma<<endl;
cout<<"La resta es: "<<resta<<endl;
cout<<"La multiplicacion es: "<<multiplicacion<<endl;
cout<<"La division es: "<<division<<endl;
return 0;
}
Arreglos unidimensionales. Los vectores:
Hasta ahora hemos visto las tres estructuras de programación fundamentales: estructuras secuenciales, estructuras condicionales y estructuras repetitivas.
Al mismo tiempo hemos empleado variables de distinto tipo para el almacenamiento de datos (variables Integer, Double, String).
En esta sección veremos otros tipos de variables que permiten almacenar un conjunto de datos en una única variable.
Tipo de dato simple: Integer (Almacena un único entero) Double (Almacena un único valor flotante) String (Almacena un conjunto de caracteres)
Estructuras de datos: Array unidimensionales estáticos (Vector estáticos)
Un vector estático es una estructura de datos que permite almacenar un CONJUNTO de datos del mismo tipo.
Con un único nombre se define un vector y por medio de un subíndice hacemos referencia a cada elemento del mismo (componente).
Con un único nombre se define un vector y por medio de un subíndice hacemos referencia a cada elemento del mismo (componente).
Problema 1
Se desea guardar los sueldos de 5 operarios.Según lo conocido deberíamos definir 5 variables si queremos tener en un cierto momento los 5 sueldos almacenados en memoria.
Empleando un vector solo se requiere definir un único nombre y accedemos a cada elemento por medio del subíndice.
La estructura de programación que más se adapta para cargar en forma completa las componentes de un vector es un for, ya que sabemos de antemano la cantidad de valores a cargar.
Es fundamental señalar qué elemento se está cargando en cada momento, esto se logra indicando el subíndice del vector: Sueldos[f], como sabemos la variable f es un contador del for que tomará valores entre 1 y 5.
Es un error si disponemos en la carga el nombre del vector únicamente sin indicar subíndice.
Se podría haber cargado con una estructura secuencial:
#include<iostream>
#include<math.h>
using namespace std;
int main(){
float a,b,c,resultado1 = 0,resultado2 = 0;
cout<<"Digite el valor de a: "; cin>>a;
cout<<"Digite el valor de b: "; cin>>b;
cout<<"Digite el valor de c: "; cin>>c;
resultado1 = (-b+sqrt(pow(b,2)-4*a*c))/(2*a);
resultado2 = (-b-sqrt(pow(b,2)-4*a*c))/(2*a);
cout<<"\nEl resultado 1 es: "<<resultado1<<endl;
cout<<"El resultado 2 es: "<<resultado2<<endl;
return 0;
}
Arreglos multidimensionales:
Arreglos multidimensionales pueden ser descritos como arreglos de arreglos.
Por ejemplo, un arreglo bidimensional se puede imaginar como una tabla
bidimensional de un tipo de dato concreto y uniforme.Los Arreglos multidimensionales no están limitados a dos índices (dos
dimensiones). Pueden contener tantos índices como sea necesario, aunque es
raro tener que representar más de 3 dimensiones. Solo considere la cantidad
de memoria que un arreglo con muchos índices puede requerir. Por ejemplo:
char century [100][365][24][60][60];
assigna un char para cada segundo contenido en un siglo, que es más de 3 mil
millones de chars! Esto consumiría cerca de 3000 megabytes de memoria
RAM si pudiéramos declararlo.
Los arreglos multidimensionales no son más que una abstracción, ya que
podemos obtener los mismos resultados con un simple arreglo poniendo un
factor entre sus indices:
int matriz [3][5]; es equivalente a
int vector [15]; (3 * 5 = 15)




Comentarios
Publicar un comentario