Temas Introductorios Estructura De Datos
Enviado por Ivan128 • 3 de Junio de 2015 • 1.227 Palabras (5 Páginas) • 279 Visitas
Clasificación de estructuras de datos.
Primitivas:
• Entero: van de -33k a 33k.
• Real: números más grandes que 33000.
• Booleano: Operadores lógicos, que devuelven cierto o falso.
• Carácter: 3 grupos, letras del alfabeto, números 0-9, caracteres especiales ($#/%¨[*)
Simples:
• Cadenas: Conjunto de caracteres identificados por las comillas dobles., permiten operaciones como inserción, eliminar, indexación, reemplazar. Características de la cadena: longitud, subcadena, concatenación (unión).
• Registros
• Arreglos
Lineales:
• Pilas
• Colas
• Listas enlazadas
No lineales:
• Árboles
• Grafos
Pregunta de clase:
Exprese, obtener la longitud de las cadenas: Panamá, CA, 01, Tecnologica, “bbb” (Pseudocodigo).
R:
N=Longitud (Panamá)
N=Longitud (CA)
Ejemplo de concatenación
Formato:
Concat(C1,C2…Cn)
Ejemplo:
C1= “Universidad”
C2=”Tecnológica”
Concat(C1,C2)= UniversidadTecnológica.
Si se quiere el espacio se debe poner espacio en blanco en una de las cadenas, ej: “Universidad “.
Subcadena: saca subcadenas de la cadena original (c1,i,j) i=posición, j=cantidad de caracteres que se toman. Ej (subcadena(panamá,2,3)= “ana”
Para separar una concatenación
Concat(c1,c2)
Subcadena(concat(c1,c2),1,longitud(c1))
Subcadena(concat(c1,c2),[longitud(c1)+1),longitud(c2))
Inserción: permite que la cadena sea modificada, agregándole caracteres.
Formato: Inserción(s, s1, i) s1=elemento a insertar, s=receptor de la inserción, i=posición
Eliminación(s,i,j): s=elemento del que se elimina, i= posición a eliminar, j=cuantos caracteres a eliminar.
Indexación(s,p): devuelve posición del primer carácter de una subcadena dentro de una cadena. S=cadena, p=sección de caracteres.
Ejemplo: S= Mañana, P=an, devolvería 4, si p=”aaa” no habría coincidencia, devuelve 0
Reemplazar(S,P,P1):s=cadena original, p=subcadena a reemplazar, p1=caracteres que reemplazan la subcadena.
Arreglos
Datos simples.
Caracteristicas Tipos de arreglo Declaración Acceso Inicialización
Mismo tipo de datos (homogéneas) Unidimensionales (vector) (1 índice) Tipo de dato[nombre_arr][tamaño] A=ARR[i]
Tamaño limitado Bidimensionales (2 índice) Imprimir(ARR[i]
Unico nombre para los elementos almacenados Multidimensionales (3 o más índices)
Se almacena en forma continua en memoria
Registros
Se caracteriza por ser un conjunto de datos heterogéneos, que se tratan como una unidad. Está formada por otras estructuras de datos primitivas o simples. Cada elemento se conoce como campo.
Para poder almacenar varios registros, se debe usar un arreglo de estructuras:
struct estructura_persona amigo[10];
Se accede al primero elemento usando amigo[0].nombre
Ej:
amigo[0].nombre=”Goku”;
amigo[0].apellido=”Achu”;
Practica
1. Para el ejemplo de arreglo de estructura desarrolle un proceso para cargar los campos de dicho arreglo.
2. Imprimir cada elemento del arreglo estructura.
3. Cree una estructura tipo registro para un grupo de pacientes de clínica.
int x=0
struct estructura_persona
{
char nombre[20];
char apellido[30];
char cédula[10];
char teléfono[10];
int edad;
};
struct estructura_persona clinica[40];
for(x=0;x<40;x++)
{
scanf(“\nIngrese el nombre del paciente”);
scanf(“%s”,clínica[x].nombre);
scanf(“\nIngrese el apellido del paciente”);
scanf(“%s”,clínica[x].apellido);
scanf(“\nIngrese la cedula del paciente”);
scanf(“%s”,clínica[x].cedula);
scanf(“\nIngrese el teléfono del paciente”);
scanf(“%s”,clinica[x].telefono);
scanf(“\nIngrese la edad del paciente”);
scanf(“%d”,clinica[x].edad);
}
printf(“\nImpresion de datos”);
for(x=0;x<40;x++)
{
printf(“\nNombre paciente[%d]: %s”,x,clínica.nombre[x]);
printf(“\nApellido paciente[%d]: %s”,x,clínica.apellido[x]);
printf(“\nCedula paciente[%d]: %s”,x,clínica.cedula[x]);
printf(“\nTelefono paciente[%d]: %s”,x,clínica.telefono [x]);
printf(“\nEdad paciente[%d]: %d”,x,clínica.edad[x]);
}
Pilas
Es una colección de datos o elementos, en las cuales se pueden insertar o eliminar elementos por un solo extremo (una sola entrada/salida, a esto se le llama CIMA, que indica el último elemento de la pila).
La técnica de almacenamiento en la pila se llama LIFO (Last-in, First-out). PUSH es para almacenar datos en la pila, POP para sacar. Se pueden representar las pilas en arreglos o listas.
Posición cima (tope): la posición del último elemento almacenado en la pila.
Si la
...