Sunteți pe pagina 1din 6

Clase:

En informtica, una clase es una plantilla para la creacin de objetos de datos segn un
modelo predefinido. Las clases se utilizan para representar entidades o conceptos, como
los sustantivos en el lenguaje. Cada clase es un modelo que define un conjunto de
atributos, y mtodos apropiados para operar con dichos datos el comportamiento. Cada
objeto creado a partir de la clase se denomina instancia de la clase.

Las clases son un pilar fundamental de la programacin orientada a objetos.


Permiten abstraer los datos y sus operaciones asociadas al modo de una caja
negra. Los lenguajes de programacin que soportan clases difieren sutilmente en
su soporte para diversas caractersticas relacionadas con clases. La mayora
soportan diversas formas de herencia. Muchos lenguajes tambin soportan
caractersticas para proporcionar encapsulacin, como especificadores de acceso.

Una clase tambin puede tener una representacin (metaobjeto) en tiempo de


ejecucin, que proporciona apoyo en tiempo de ejecucin para la manipulacin de
los metadatos relacionados con la clase.

Listas: Una lista es una coleccin de elementos homogneos entre los que existe
una relacin lineal.
1. Cada elemento de la lista, a excepcin del primero, tiene un nico predecesor.
2. Cada elemento de la lista, a excepcin del ltimo, tiene un nico sucesor.

Listas Definicin
Las listas no son arreglos (arrays), aunque ambos representan secuencias de
elementos de un tipo, los arreglos tienen longitud fija; las listas, no; es decir, las
listas son flexibles y permiten cambio de implementacin.
En una lista enlazada, cada elemento apunta al siguiente excepto el ltimo que no
tiene sucesor y el valor del enlace es null. Por ello los elementos son registros que
contienen el dato a almacenar y un enlace al siguiente elemento. Los elementos
de una lista, suelen recibir tambin el nombre de Nodos de la lista.

Tipos de listas
Listas simples

Se definen como un conjunto de nodos uno detrs de otro, del cual siempre se
puede conocer al nodo inicial y al final, de cada nodo de la lista, se conoce un
contenido, que es la informacin que almacena dentro puede ser de cualquier tipo
de dato un sucesor nico excepto el ultimo nodo de la lista.
Listas ordenadas

Son las que la posicin de cada nodo viene determinada por el valor de uno o ms
campos obligatorios de informacin del nodo denominados clave No se permite
tener dos nodos con la misma clave.

Pilas

Coleccin ordenada de elementos homogneos en la que slo se pueden aadir y


eliminar elementos por el principio de la misma cabecera siguiendo la Filosofa
LIFO (ltimo en entrar primero en salir).

Cola

Coleccin ordenada de elementos homogneos en la que slo se pueden aadir


elementos por el final y se eliminan por el principio (frente) siguiendo la filosofa
FIFO (Primero en entrar primero en salir).

Listas Doblemente enlazadas (LDE)

Son aquellas que presentan una relacin lineal en ambos sentidos, un enlace a
predecesor y antecesor en cada nodo, su recorrido puede ser en ambos sentidos y
pueden ser simples u ordenadas.

rbol (informtica)

En ciencias de la computacin y en informtica, un rbol es una estructura de datos


ampliamente usada que imita la forma de un rbol (un conjunto de nodos conectados). Un
nodo es la unidad sobre la que se construye el rbol y puede tener cero o ms nodos hijos
conectados a l. Se dice que un nodo a es padre de un nodo b si existe un enlace desde
a hasta b (en ese caso, tambin decimos que b es hijo de a Slo puede haber un nico
nodo sin padres, que llamaremos raz. Un nodo que no tiene hijos se conoce como hoja.
Los dems nodos (tienen padre y uno o varios hijos) se les conoce como rama.
Definicin
Formalmente, podemos definir un rbol de la siguiente forma:

Caso base: un rbol con slo un nodo (es a la vez raz del rbol y hoja).

Un nuevo rbol a partir de un nodo nr y k rboles A1, A2,, Ak de races n1,


n2, nk con N1, N2,, NK elementos cada uno, puede construirse estableciendo
una relacin padre-hijo entre nr y cada una de las races de los K rboles. EL rbol
resultante de N = 1 + N1 + + NK nodos tiene como raz el nodo nr, los nodos n1,
n2,, nk son los hijos de nr y el conjunto de nodos hoja est formado por la unin
de los K conjuntos hojas inciales. A cada uno de los rboles Ai se les denota
ahora sub-rboles de la raz

Una sucesin de nodos del rbol, de forma que entre cada dos nodos consecutivos de
la sucesin haya una relacin de parentesco, decimos que es un rbol recorrido.
Existen dos recorridos tpicos para listar los nodos de un rbol: en profundidad y en
anchura. En el primer caso, se listan los nodos expandiendo el hijo actual de cada
nodo hasta llegar a una hoja, donde se vuelve al nodo anterior probando por el
siguiente hijo y as sucesivamente. En el segundo, por su parte, antes de listar los
nodos de nivel n + 1 (a distancia n + 1 aristas de la raz), se deben haber listado todos
los de nivel n. Otros recorridos tpicos del rbol son preorden, postorden e inorden:

El recorrido en preorden, tambin llamado orden previo consiste en recorrer


en primer lugar la raz y luego cada uno de los hijos A1, A2... Ak en orden
previo.
El recorrido en inorden, tambin llamado orden simtrico (aunque este
nombre slo cobra significado en los rboles binarios) consiste en recorrer en
primer lugar A1, luego la raz y luego cada uno de los hijos A2 Ak en orden
simtrico.
El recorrido en postorden, tambin llamado orden posterior consiste en
recorrer en primer lugar cada uno de los hijos A1, A2... Ak en orden posterior y
por ltimo la raz.

Finalmente, puede decirse que esta estructura es una representacin del concepto de
rbol en teora de grafos. Un rbol es un grafo conexo y acclico

Terminologas utilizadas en rboles


Raz - El nodo superior del rbol.
Padre - Nodo con hijos.
Hijo - Nodo descendiente de otro nodo.
Hermanos - Nodos que comparten el mismo padre.
Hojas - Nodos sin hijos.
Nivel - El nivel de un nodo est definido por el nmero de conexiones entre
el nodo y la raz.
Tipos de rboles
rboles Binarios
o rbol de bsqueda binario auto-balanceable
rboles AVL
rboles Rojo-Negro
rbol AA
o rbol de segmento
rboles Multicamino
o rboles B (rboles de bsqueda multicamino autobalanceados)
rbol-B+
rbol-B*

Operaciones de rboles. Representacin


Las operaciones comunes en rboles son:

Por su parte, la representacin puede realizarse de diferentes formas. Las ms


utilizadas son:

Representar cada nodo como una variable en el heap, con punteros a sus
hijos y a su padre.
Representar el rbol con un array donde cada elemento es un nodo y las
relaciones padre-hijo vienen dadas por la posicin del nodo en el array.

Uso de los rboles


Usos comunes de los rboles son:

Representacin de datos jerrquicos.


Como ayuda para realizar bsquedas en conjuntos de datos

Grafo (tipo de dato abstracto)

Un grafo en el mbito de las ciencias de la computacin es un tipo abstracto de


datos (TAD), que consiste en un conjunto de nodos (tambin llamados vrtices) y
un conjunto de arcos (aristas) que establecen relaciones entre los nodos. El
concepto de grafo TAD desciende directamente del concepto matemtico de grafo.

Formalmente, un grafo se define como G = (V, E), Siendo V un conjunto cuyos


elementos son los vrtices del grafo y, E uno cuyos elementos son las aristas
(edges en ingls), las cuales son pares (ordenados si el grafo es dirigido) de
elementos en V.

Formas de representacin
Existen diferentes implementaciones del tipo grafo: con una matriz de adyacencias
(forma acotada) y con listas y multilistas de adyacencia (no acotadas).

Matriz de adyacencias: se asocia cada fila y cada columna a cada nodo del grafo,
siendo los elementos de la matriz la relacin entre los mismos, tomando los
valores de 1 si existe la arista y 0 en caso contrario.

Lista de adyacencias: se asocia a cada nodo del grafo una lista que contenga todos
aquellos nodos que sean adyacentes a l.

Especificacin de los tipos abstractos de datos de


un grafo no dirigido
Generadores

Crear un grafo vaco: Devuelve un grafo vaco.

op crearGrafo: -> Grafo [ctor].

Aadir una arista: Dado un grafo, aade una relacin entre dos nodos de dicho
grafo.

op aadirArista: Grafo Nodo. Nodo -> [Grafo] [ctor].

Aadir un nodo: Dado un grafo, incluye un nodo en l, en caso en el que no exista


previamente.

op aadir Nodo: Grafo Nodo -> Grafo [ctor].

Constructores

Borrar nodo: Devuelve un grafo sin un nodo y las aristas relacionadas con l. Si
dicho nodo no existe se devuelve el grafo inicial.

op borrar Nodo: Grafo Nodo -> Grafo.

Borrar arista: Devuelve un grafo sin la arista indicada. En caso de que la arista no
exista devuelve el grafo inicial.

op borrar Arista: Grafo Nodo. Nodo -> Grafo.


Selectores

Grafo Vaco: Comprueba si un grafo no tiene ningn nodo.

op es Vaco: Grafo -> Bool.

Contener Nodo: Comprueba si un nodo pertenece a un grafo.

op contiene: Grafo Nodo -> Bool.

Adyacentes: Comprueba si dos nodos tienen una arista que los relacione.

op adyacentes: Grafo Nodo. Nodo -> Bool.

Para la especificacin de un grafo dirigido tenemos que modificar algunas de las


ecuaciones de las operaciones borrar Arista y aadirArista para que no se
considere el caso de aristas bidireccionales.

Y sustituir las operaciones adyacentes por:

op predecesor: Grafo Nodo. Nodo -> Bool.


op sucesor: Grafo Nodo. Nodo -> Bool.

S-ar putea să vă placă și