Bäume

Ich schreibe den Text auf Spanish, dann werde ich es auf Deutsch übersetzen.

Arboles

Parecido a la lista en el sentido de que se puede acceder a cualquier dato sin tener que quitarlo. Como se dijo en los nodos aqui los nodos tienen una referencia al nodo superior, y al menos dos nodos hijos (si quieremos que el arbol sea binario, aunque realmente depende de qué programa quieras hacer)

Ejemplo:

Liste

Ich schreibe den Text auf Spanish, dann werde ich es auf Deutsch übersetzen.

Listas

Las listas son algo parecido a las pilas y colas mezclado con un array, pero aqui no hace falta quitar de la lista el nodo que se observa, y se puede acceder a cualquier dato, no solo a uno de un extremo. Imaginalo como un array al que se le puede cambiar dinámicamente el tamaño.

Ejemplo:

Warteschlange

Ich schreibe den Text auf Spanish, dann werde ich es auf Deutsch übersetzen.

Colas

Es como la pila, pero aqui el empleado coge el papel de la parte de abajo: El primero en llegar es el primero en ser servido.

Al igual que las pilas apenas se usa actualmente, cuando se coge un dato se quita de la cola, y además cada vez que se añade un nuevo elemento se mete al final.

Ejemplo:

Stapelspeicher

Ich schreibe den Text auf Spanish, dann werde ich es auf Deutsch übersetzen.

Pilas

Las pilas son una estructura que almacena nodos. En ellos se lee siempre primero el ultimo nodo en llegar. Piensa en una pila de documentos del trabajo y un empleado que solo coje la hoja de más arriba.

Realmente actualmente se usan principalmente las colas, porque en las pilas cuando se coge el dato este se quita de la pila, aunque sea para verlo.

Ejemplo:

Knoten

Ich schreibe den Text auf Spanish, dann werde ich es auf Deutsch übersetzen.

Nodos

Un nodo es una clase que encapsula información. Sigue el siguiente patrón:


En Anterior y Siguiente se guarda otro nodo, la idea de los nodos es crear cadenas con ellos. Para los que sepáis este tema, sabreis que ese nodo solo se usa en un caso específico, que en casi todos solo se guarda el nodo anterior, no el siguiente.

En Dato aqui uso un „int“, pero realmente puede ser de cualquier tipo de clase o dato.

Los nodos se usan por lo menos en pilas, colas, listas y arboles (en arboles realmente se llaman hoja y pueden tener multiples referencias a otros nodos, no solo siguiente y anterior, ya que tienen por lo menos al nodo padre y a dos nodos hijos. Ya lo veremos en su categoría).

Matrizen und Arrays

Ich schreibe den Text auf Spanish, dann werde ich es auf Deutsch übersetzen.

Matrices y arrays

A veces tienes que crear varias variables del mismo tipo para guardar datos parecidos. Por ejemplo, imaginate que tienes la clase huevo y la clase caja de huevos. En cada clase caja de huevos puedes tener 6 huevos. Pero… ¿Y si otra vez se tienen 12 huevos? ¿Vas a tener que modificar la clase o crear una clase abstracta de la que heredan caja6huevos y caja12huevos? Hay una solución para eso: Matrices y arrays. Fijate en esta linea de código:

int [] numeros = new int[6];

Con esto hemos creado 6 variables del tipo int, a las que se accede desde el 0 hasta el 5 así:

numeros[0] = 10;

numeros[1] = 20;

numeros[5] = 22;

Otra forma de crearlos es así:

int [] numeros = {10,20,30,40,50};

Así hemos creado un array de 5 elementos. Para acceder al primero tendremos que usar el numeros[0].

 

Para crear un array de un objeto concreto usamos el siguiente comando:

Objeto [] array = new Objeto [10];
array[0] = new Objeto(); // aqui llamamos al constructor

Una matriz es un array de 2 dimensiones. Realmente pueden tener todas las dimensiones que se quieran hacer, pero realmente es algo poco común y que realmente usarás muy poco.
int [][] numeros = new int[10][10];

Así hemos creado una tabla de 10 x 10. Todo lo demás es igual que con el resto de arrays.

Así que ya hemos visto como trabajar con matrices y arrays. ¿Como hacemos lo del ejemplo del inicio? Aprovechando el constructor de la clase:

Huevo [] arrayHuevos;

void CajaHuevos(int cantidad){

arrayHuevos = new Huevo[cantidad];

}

Con esto podemos usar unas veces cajas de 12 huevos, otras de 6, y otras de lo que haga falta.

Datenstruktur

Ich schreibe den Text auf Spanish, dann werde ich es auf Deutsch übersetzen.

Estructuras de datos

Ahora hablaremos de las estructuras de datos. Al ver los patrones de diseño hemos visto alguna de estas, ahora vamos a verlo a fondo.

  • Matrices y arrays
  • Nodos
  • Pilas
  • Colas
  • Listas
  • Arboles
  • Grafos