Anda di halaman 1dari 13

Estructura de Datos En

C++
Dr. Romeo Snchez Nigenda.
E-mail: romeo.sanchez@gmail.com
http://yalma.fime.uanl.mx/~romeo/
Oficina: 1er. Piso del CIDET. Oficina con Dr. Oscar
Chacn
Horas de Tutora: 10am-11am Martes y Jueves,
3:30pm-4:30pm Mircoles, 2:00pm-4:00pm Viernes.
Website:
http://yalma.fime.uanl.mx/~romeo/ED/2011/
Sesiones: 48

Objetivo General: Conocer y manejar


las estructuras internas de informacin
Temario:
1.
2.
3.
4.
5.
6.
7.
8.
9.

Conceptos Bsicos
La Pila
40% Tareas
Colas
30% Examen
Recursin
Parcial
Listas
30% Examen
Final
rboles
10% Participacin
Ordenamiento
Bsqueda
Administracin de Almacenamiento

Total a calificar: 110 puntos.

Material de apoyo:
Estructura de Datos con C y C++.
Yedidyah Langsam, Moshe J. Augenstein, Aaron M. Tenenbaum,
Brooklyn College
Segunda Edicin, Prentice-Hall.
Algorithms. Third Edition.
Parts 1-4, Fundamentals Data Structures Sorting Searching
Robert Sedgewick.
Estructura de Datos.
Romn Martnez, Elda Quiroga.
Thomson Learning.
Cualquier libro de Estructura de Datos!

Software:

Compiladores GCC (GNU Compiler Collection)


IDEs (Integrated Development Environment):
http://www.eclipse.org/downloads/
http://kdevelop.org/
http://www.bloodshed.net/devcpp.html

1. Conceptos Bsicos
Objetivo:

Se conocer el concepto de las


estructuras de datos, como se almacena la
informacin, y las estructuras de datos
fundamentales utilizadas en la computadora.

Temario:

Definicin del trmino Estructura de Datos.


Definicin y especificacin lgica de un TDA
Arreglos
Registros
Conjuntos

1.1 Definicin de Estructura de


Datos
Alguna

idea?

Informaci

Operacione

Que es Informacin?
Es

el conocimiento comunicado o recibido


en relacin a algn hecho o circunstancia.

Es

un conjunto organizado de datos, que


constituye un mensaje sobre cierto
fenmeno o ente.

Es

un conjunto organizado de datos


procesados, que constituyen un mensaje
que cambia el estado de conocimiento del
sujeto o sistema que lo recibe

Cmo representamos
informacin en computacin?
Unidad

bsica: bit (Binary Digit)


Con N bits se representan 2n-1 +enteros
en el sistema numrico binario
Ejemplos:
A) 0100001, B) 0000101, C) 11000, D)
10110
Implementaciones:

Decimal: 4 bits por nmero


Nmeros reales: 32 bits (24 mantisa, 8 exp)
Caracteres: 7 bits (ASCII), etc.
Tamao del Byte: Cantidad de bits necesaria
para representar un carcter.

Memoria
(almacenamiento)

Los

bits se agrupan en bytes, y estos en palabras


(words)

Cada

palabra se le asigna una direccin (localidad)


en la memoria

Podemos
Por

acceder a la direccin como a su contenido

ejemplo en C:

int x, y;
Reserva 2 localidades en memoria,
Permite referencias a las localidades usando x, y
El contenido de las localidades son enteros

1.2 Definicin y especificacin


lgica de un TDA
Datos:

Son conceptos abstractos definidos por


un conjunto de propiedades lgicas.

Tipo

de Datos Abstracto (TDA): Es un


conjunto de valores y un grupo de operaciones
(abstraccin) sobre tales valores que pueden
ser accedidos nicamente a travs de una
interfaz.

Son modelos matemticos compuestos por


una coleccin de operaciones definidas sobre
un conjunto de datos para el modelo

1.2 Definicin y especificacin


lgica de un TDA
Un

TDA consta de 2 partes:

Una definicin de valor que


establece el conjunto de valores para
el TDA, con una clusula de
definicin y otra de condicin
Una definicin de operador que
representa al conjunto de
operaciones primitivas que definen
el comportamiento del TDA

1.2 Definicin y especificacin


lgica de un TDA
Ejemplo:

Definicin de valor:
- Nmero Racional: Conjunto de pares de
elementos (a,b) de tipo entero, con b<>0
Operadores:
- CrearRacional(a,b) Interfaz
Definicin
- Sumar(a,b)
Operaciones
Representacin
- Restar(a,b)
Implementaci
n
- Multiplicar(a,b)
- Dividir(a,b),

Usuarios no pueden acceder los datos, excepto a travs de las operacione


Hechas pblicas por la inferfaz

1.2 Definicin y especificacin


lgica de un TDA
Ejemplo (representacin):
RACIONAL crearRacional(a,b)
Precondition b<>0
Postcondition RACIONAL.a = a, RACIONAL.b = b
Implementacin:
void crearRacional(int a, int b) {
assert(b!=0);
this.a = a;
this.b = b;
}

1.1 Definicin de Estructuras de


Datos

Wikipedia: Es una forma de organizar un conjunto de datos


elementales con el objetivo de facilitar su manipulacin
(operacin).

El estudio de las estructuras de datos identifica y desarrolla


entidades y operaciones matemticas tiles y determina que
clases de problemas se solucionan usando dichas entidades y
operaciones (Langsam, et. al).

Implica la representacin para dichas entidades abstractas y


la implementacin de las operaciones abstractas en las
representaciones concretas.

Una estructura de datos no es un objeto pasivo: Debemos de


considerar las operaciones que se ejecutaran sobre ella, y los
algoritmos a usar para dichas operaciones (Sedgewick).

Anda mungkin juga menyukai