Estructuras de Datos y Algoritmos (EDA)

Un curso sobre Tipos Abstractos de Datos

Archive for the ‘Material’ Category

Ejercicios para las clases del 18 y 21 de octubre del grupo de tardes

without comments

Los días 18 y 21 de octubre tendremos clases de problemas.

Los ejercicios a preparar para esas clases están disponibles en este enlace.

Written by Yolanda Villate

octubre 17th, 2011 at 5:45 pm

Posted in Material

Ejercicios para las clases del 18 y 21 de octubre del grupo de mañanas

without comments

Están disponibles en este enlace los ejercicios sobre los que trabajaremos en las clases del 18 y del 21 de octubre.

Written by Javier Campos

octubre 17th, 2011 at 12:05 pm

Posted in Material

Binky nos insiste en algunos conceptos básicos de punteros

without comments

binky

Haz clic en el cuadro negro de arriba para que empiece…

Directamente desde la Universidad de Stanford. Recomendable además leer el documento sobre “punteros y memoria” de la misma Universidad.

Written by Javier Campos

octubre 5th, 2011 at 8:38 am

Posted in Material

Estructura de datos “registro”

without comments

Un registro, en programación, es un tipo de dato estructurado formado por la unión de varios elementos bajo una misma estructura. Estos elementos pueden ser, o bien datos elementales (entero, real, carácter,…), o bien otras estructuras de datos. A cada uno de esos elementos se le llama campo.

Un registro se diferencia de un vector en que éste es una colección de datos iguales, es decir, todos del mismo tipo, mientras que en una estructura los elementos que la componen, aunque podrían serlo, no tiene porque ser del mismo tipo. (Wikipedia)

En el caso del lenguaje Java, el equivalente a los campos de un registro son los atributos o campos de los objetos de una clase.

En la notación algorítmica utilizada en clase, un tipo registro se declara así:

  tipo fecha = registro 
                 elDía:día;
                 elMes:mes;
                 elAño:natural
               freg
 

Se declaran variables así:

  variable aniversario:fecha 
 

Y se utilizan así:

  principio
    aniversario.elDía:=1;
    aniversario.elMes:=oct; {el tipo mes se ha definido por enumeración, como 
                             mes=(ene,feb,mar,abr,may,jun,jul,ago,sep,oct,nov,dic)}
    aniversario.elAño:=2011;
    ...
    aniversario.elDía:=aniversario.elDía+1;
    ...

Written by Javier Campos

septiembre 25th, 2011 at 11:46 am

Posted in Material

Ejercicios sobre TAD’s arborescentes

without comments

Written by Javier Campos

noviembre 30th, 2010 at 9:47 am

Posted in Material

Ejercicios de TAD’s lineales

without comments

Se ha publicado en la sección de material adicional una colección de enunciados de ejercicios sobre TAD’s lineales.

Written by Javier Campos

octubre 28th, 2010 at 2:55 pm

Posted in Material

Registros con variantes

without comments

Texto extraído de Wikipedia:

In computer science, a tagged union, also called a variant, variant record, discriminated union, or disjoint union, is a data structure used to hold a value that could take on several different, but fixed types. Only one of the types can be in use at any one time, and a tag field explicitly indicates which one is in use. It can be thought of as a type which has several “cases,” each of which should be handled correctly when that type is manipulated. Like ordinary unions, tagged unions can save storage by overlapping storage areas for each type, since only one is in use at a time.
Tagged unions are most important in functional languages such as ML and Haskell, where they are called datatypes (see algebraic data type) and the compiler is able to verify that all cases of a tagged union are always handled, avoiding many types of errors. They can, however, be constructed in nearly any language, and are much safer than untagged unions, often simply called unions, which are similar but do not explicitly keep track of which member of the union is currently in use.

La sintaxis en Ada puede verse aquí.

Written by Javier Campos

octubre 14th, 2010 at 12:30 pm

Posted in Material

El tradicional Binky para terminar las fiestas

without comments

binky

Haz clic en el cuadro negro de arriba para que empiece…

Directamente desde la Universidad de Stanford.

Written by Javier Campos

octubre 14th, 2010 at 10:56 am

Posted in Material

Ejercicios de especificación algebraica

without comments

algebraSe ha publicado en la sección de material adicional una colección de enunciados de ejercicios sobre especificación algebraica.

Written by Javier Campos

octubre 7th, 2010 at 2:29 pm

Posted in Material

Ejercicio: especificación de los multiconjuntos de la práctica 1

without comments

Se debe escribir la especificación algebraica del TAD genérico “multiconjunto de elementos” que aparece en el enunciado de la práctica 1, con las operaciones: vacío, poner, esVacío, quitar, pertenece, frecuencia, unión, cardinal, diferencia y esSubconjunto, indicando además a qué clase pertenece cada operación (generadora/modificadora/observadora).

Written by Javier Campos

octubre 1st, 2010 at 11:53 am

Posted in Material