Introducción A Las Estructuras De Datos
AndryTs23 de Enero de 2014
7.712 Palabras (31 Páginas)210 Visitas
Unidad 1 Introducción a las Estructuras de Datos.
1.1 Importancia de la Organización de los datos.
1.2 Uso y manejo de los datos.
1.3 Tipos de datos abstractos.
1.4 Formas de almacenamiento.
Unidad 2 Estructuras de Datos Estáticas.
2.1 Arreglos.
2.2 Representación de pilas mediante aretes ADTs.
2.3 Operaciones con colas.
2.4 Notación infija, prefija y posfija.
2.5 Recursividad.
2.6 Representación de colas mediante ATS.
2.7 Operaciones con colas.
2.8 Listas enlazadas simples.
2.9 Listas enlazadas simples mediantes ADTS.
2.10 Representación de listas con arreglos.
Unidad 3 Estructura de Datos.
3.1 Pilas y colas implementadas como listas simples.
3.2 Operaciones con listas dinámicas.
3.3 Listas con cabeceras.
3.4 Listas circulares.
3.5 Listas doblemente enlazadas.
3.6 Operaciones con listas doblemente enlazadas.
Unidad 4 Archivos.
4.1 Archivos secuenciales.
4.2 Archivos aleatorios.
1.1 IMPORTANCIA DEL MANEJO DE DATOS.
Las estructuras estáticas son conjuntos de datos homogéneos que se trata como una sola unidad. Hay dos tipos de estructuras: internas y externas.
Array o tabla o matriz: se utilizan en cualquier lenguaje de programación para almacenar datos que son del mismo tipo o demás.
Delos cuales tienen 3 clasificaciones
Unidimensionales
Bidimensionales
Multidimensionales
Unidimensionales.
van a tener una sola dirección y por lo tanto un solo índice. Se les llama a este tipo de arrays Vectores.Si queremos intercambiar el contenido entre dos vectores, vamos a declarar primero una variable auxiliar.
AUX=Alumnos(1) Alumnos(1)=Alumnos(2) Alumnos(2)=AUX
Bidimensionales:
Son arrays de dos dimensiones y se les conoce con el nombre de matrices. Tienen 2 índices por lo que cada componente de la matriz se direcciona con el nombre de la matriz seguido de dos índices separados por comas.
MAULTIDIMENSIONALES: Son los arrays desde 3 hasta n dimensiones. También se les llama poliedros. Es necesario que la n subíndices estén declarados o identificados, para poder localizar un elemento individual del poliedro. Un array de n dimensiones se puede identificar de la siguiente manera.
A [P1:U1, P2:U2,…., PN: UN]
1.2 USO Y MANEJO DE DATOS.
El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático.
En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.
Existen unos datos de entrada y unos datos de salida.
Los datos de entrada se manipulan en el programa produciendo unos datos de salida.
Un dato dentro de un programa se caracteriza por llevar asociado un identificador, un tipo y un valor.
Identificador: Nombre para referenciar al dato dentro del programa
Tipo: el tipo de un dato determina el rango de valores que puede tomar el dato y su ocupación en memoria durante la ejecución del programa
Valor: Sera un elemento determinado dentro del rango de valores permitidos por el tipo de dato definido.
Algunos ejemplos de datos son: la edad, el saldo de una cuenta bancaria, el nombre de una persona, la letra del piso de una dirección, etc.
Tipo entero: representa números enteros con o sin signo, que estarán compuestos por los dígitos del 0 al 9, pudiendo ser precedidos por los signos + o -.
Definir un tipo de dato en C:
int nombre variable = valor;
Tipo real: Se emplean para representar números reales (con decimales).
Para definir datos reales se antepone la palabra reservada float al identificador de la variable.
float identificador = valor;
Tipo carácter: Este tipo de datos se emplea para representar un carácter perteneciente a un determinado código utilizado por el ordenador.
Para representar este tipo de dato se antepone la palabra reservada char al identificador de la variable.
Char identificador = ‘valor’;
Tipo cadena de caracteres: una cadena de caracteres es un número de caracteres consecutivos. Encerrado entre unos delimitadores determinados, que en el lenguaje C son las comillas dobles.
Para definir variables de tipo cadena, estas se definen como vectores de caracteres, esto es, anteponiendo la palabra reservada char al identificador de la variable, y después entre corchetes la longitud máxima de cadena.
Char identificador [cantidad] = “mensaje”;
Lectura y Escritura de Datos
Para poder leer y escribir datos en el lenguaje de programación C existen una serie de funciones agrupadas en un conjunto de librerías de código objeto, que constituyen la llamada biblioteca estándar del lenguaje. En el caso concreto de las funciones de entrada y salida (lectura y escritura), su archivo de cabecera es stdio.h.
Existen varias funciones que realizan la entrada y salida de datos en el lenguaje de programación C, pero nos vamos a centrar solamente en dos de ellas: printf() y scanf().
1.3 TIPO DE DATO ABSTRACTO.
Un tipo de dato abstracto (TDA) o Tipo abstracto de datos (TAD) es un modelo matemático compuesto por una colección de operaciones definidas sobre un conjunto de datos para el modelo.
Con mucha frecuencia se utilizan los términos TDA y Abstracción de Datos de manera equivalente, y esto es debido a la similitud e interdependencia de ambos. Sin embargo, es importante definir por separado los dos conceptos.
Como ya se mencionó, los Lenguajes de Programación Orientados a Objetos son lenguajes formados por diferentes métodos o funciones y que son llamados en el orden en que el programa lo requiere, o el usuario lo desea. La abstracción de datos consiste en ocultar las características de un objeto y obviarlas, de manera que solamente utilizamos el nombre del objeto en nuestro programa.
Separación de la interfaz e implementación.
Cuando se usa en un programa de computación, un TDA es representado por su interfaz, la cual sirve como cubierta a la correspondiente implementación. La idea es que los usuarios de un TDA tengan que preocuparse sólo por la interfaz, pero no por la implementación, ya que esta puede ir cambiando con el tiempo y, si no existiera encapsulación, afectar a los programas que usan el dato. Esto se basa en el concepto de Ocultación de información, una protección para el programa de decisiones de diseño que son objeto de cambio.
TDA está caracterizado por un conjunto de operaciones al cual se denomina usualmente como interfaz pública y representa el comportamiento del TDA; mientras que la implementación como la parte privada del TDA está oculta al programa cliente que lo usa. Todos los lenguajes de alto nivel tienen predefinidos TDA; que son los tipos denominados simples y las estructuras predefinidas, y estos tienen sus interfaces públicas que incluyen las operaciones como la +, -, *, etc.
La abstracción.
Una de las herramientas que más nos ayuda a la hora de solucionar un problema, es un mecanismo fundamental para la comprensión de problemas y fenómenos que poseen una gran cantidad de detalles, su idea principal consiste en manejar un problema, fenómeno, objeto, tema o idea como un concepto general, sin considerar la gran cantidad de detalles que estos puedan tener. El proceso de abstracción presenta dos aspectos complementarios.
1. Destacar los aspectos relevantes del objeto.
2. Ignorar los aspectos irrelevantes del mismo (la irrelevancia depende del nivel de abstracción, ya que si se pasa a niveles más concretos, es posible que ciertos aspectos pasen a ser relevantes).
1. Abstracción funcional: crear procedimientos y funciones e invocarlos mediante un nombre donde se destaca qué hace la función y se ignora cómo lo hace. El usuario sólo necesita conocer la especificación de la abstracción (el qué) y puede ignorar el resto de los detalles.
2. Abstracción de datos:
• Tipo de datos: proporcionado por los leguajes de alto nivel. La representación usada es invisible al programador, al cual solo se le permite ver las operaciones predefinidas para cada tipo.
• Tipos definidos: por el programador que posibilitan la definición de valores de datos más cercanos al problema que se pretende resolver.
• TDA: para la definición y representación de tipos de datos junto con sus propiedades.
• Objetos: Son TDA a los que se añade propiedades de reutilización
...