Académique Documents
Professionnel Documents
Culture Documents
Búsqueda, encontrar un determinado valor en la estructura para realizar una operación con este
valor, en forma secuencial o binario (siempre y cuando los datos estén ordenados).
Ordenamiento
Apareo, dadas dos estructuras originar una nueva ordenada y que contenga a las apareadas.
Tipos de datos elementales Binarios Bit Byte Numéricos Entero Real Coma flotante
Alfanuméricos Carácter Cadena Booleanos
Las estructuras de datos son necesarias tanto en la memoria principal como en la secundaria.
Datos estructurados: Estructura de Datos es una colección de datos que se caracterizan por su
organización y las operaciones que se definen en ella. Los datos de tipo estándar pueden ser
organizados en diferentes estructuras de datos: estáticas y dinámicas.
Estructura de datos estáticas: Son aquellas en las que el espacio ocupado en memoria se define
en tiempo de compilación y no puede ser modificado durante la ejecución del programa.
Estructuras de datos dinámicas: Son aquellas en las que el espacio ocupado en memoria puede
ser modificado en tiempo de ejecución. Corresponden a este tipo las listas, árboles y grafos. Estas
estructuras no son soportadas en todos los lenguajes, estructuras de datos tienen en común un
identificador, nombre, puede representar a múltiples datos individuales.
Estructuras contiguas o físicas son aquellas que al representarse en el hardware del ordenador, lo
hacen situando sus datos en áreas adyacentes de memoria; un dato en una estructura contigua se
localiza directamente calculando su posición relativa al principio del área de memoria que
contiene la estructura. Los datos se relacionan por su vecindad o por su posición relativa dentro de
la estructura.
Las estructuras enlazadas son estructuras cuyos datos no tienen por qué situarse de forma
contigua en la memoria; en las estructuras enlazadas los datos se relacionan unos con otros
mediante punteros (un tipo de dato que sirve para ‘apuntar’ hacia otro dato y por tanto para
determinar cuál es el siguiente dato de la estructura). La localización de un dato no es inmediata
sino que se produce a través de los punteros que relacionan unos datos con otros.
economía espacial (no emplear más memoria de la necesaria) o temporal (emplear el menor
tiempo posible en las operaciones)
CADENAS
La cadena es quizás la estructura más simple y se define como una secuencia de caracteres que se
interpretan como un dato único. Su longitud puede ser fija o variable por lo que, además de saber
que están constituidas por caracteres alfanuméricos, hemos de conocer su longitud.
Asignación
Concatenación
Extracción de subcadena
Arrays: Un arreglo (array) es una colección de datos del mismo tipo, que se almacenan en
posiciones consecutivas de memoria y reciben un nombre común.
La Abstracción de Datos es la técnica de inventar nuevos tipos de datos que sean más adecuados a
una aplicación y, por consiguiente, facilitar la escritura del programa.
Un tipo de dato definido por el programador se denomina tipo abstracto de dato, TAD (Abstract
Data Type, ADT). El término abstracto se refiere al medio en que un programador abstrae algunos
conceptos de programación creando un nuevo tipo de dato.
Los primeros pasos hacia la abstracción de datos se crearon con lenguajes tales como FORTRAN,
COBOL y ALGOL 60
La siguiente generación de lenguajes, PASCAL, SIMULA-67 y ALGOL 68, ofreció una amplia
selección de tipos de datos y permitió al programador modificar y ampliar los tipos de datos
existentes mediante construcciones específicas (por ejemplo, arrays y registros).
La abstracción de datos es la técnica de programación que permite inventar o definir nuevos tipos
de datos (tipos de datos definidos por el usuario) adecuados a la aplicación que se desea realizar.
La abstracción de datos es una técnica muy potente que permite diseñar programas más cortos,
legibles y flexibles. La esencia de la abstracción es similar a la utilización de un tipo de dato, cuyo
uso se realiza sin tener en cuenta cómo está representado o implementado.
En términos más precisos, se indica que un tipo de dato definido por el usuario se denomina tipo
abstracto de dato (TAD) si:
Existe una construcción del lenguaje que le permite asociar la representación de los datos con las
operaciones que lo manipulan;
La representación del nuevo tipo de dato está oculta de las unidades de programa que lo utilizan
Un TDA es un tipo de dato definido por el programador que se puede manipular de un modo
similar a los tipos de datos definidos por el sistema. Está formado por un conjunto válido de
elementos y un número de operaciones primitivas que se pueden realizar sobre ellos
Definición de TAD
Permite una mejor conceptualización y modelización (modelado) del mundo real. Mejora la
representación y la comprensibilidad. Clasifica los objetos basados en estructuras y
comportamientos comunes.
2. Mejora la robustez del sistema. Permiten la especificación del tipo de cada variable, de tal
forma que se facilita la comprobación de tipos para evitar errores de tipo en tiempo de ejecución.
3. Mejora el rendimiento (prestaciones). Para sistemas tipificados, el conocimiento de los objetos
permite la optimización de tiempo de compilación.
5. Permite la extensibilidad del sistema. Los componentes de software reutilizables son más
fáciles de crear y mantener.
6. Recoge mejor la semántica del tipo. Los tipos abstractos de datos agrupan o localizan las
operaciones y la representación de atributos.
NORMA La especificación informal de un TAD tiene como objetivo describir los datos del tipo y las
operaciones según la funcionalidad que tienen. No sigue normas rígidas, simplemente indica, de
forma comprensible, la acción que realiza cada operación.
LA RECURSIVIDAD Se dice que una función es recursiva cuando se define en función de si misma.
C++ permite la recursividad. Cada vez que se llama a una función, se crea un juego de variables
locales, de este modo, si la función hace una llamada a sí misma, se guardan sus variables y
parámetros, usando la pila, y la nueva instancia de la función trabajará con su propia copia de las
variables locales. Cuando esta segunda instancia de la función retorna, recupera las variables y los
parámetros de la pila y continúa la ejecución en el punto en que había sido