Página principal | Lista de namespace | Lista de componentes | Lista de archivos | Miembros del Namespace  | Miembros de las clases | Archivos de los miembros | Páginas relacionadas

Referencia del Archivo Tree_V.h

Declaraciones y definiciones para la clase Tree. Más...

#include "Tdef.h"
#include <cassert>

Ir al código fuente de este archivo.

Namespaces

namespace  TV

Clases

class  TV::Tree
 Los métodos para trabajar con árboles regresan "referencias" que son sub-árboles. Más...
class  TV::Tree::Node
 Nodos almacenados en el árbol. Más...

Definiciones

#define USE_v_Alive

Funciones

bool operator== (const Tree &p, const Tree &q)
bool operator!= (const Tree &p, const Tree &q)
bool Check_Ok (Tree &T)
 Verifica que se cumpla la invariante de la clase, o sea, que el objeto esté bien construido.
bool Check_Ok_Tree (Tree &T)
 Verifica que se cumpla la invariante de la clase, o sea, que el objeto esté bien construido.


Descripción detallada

Declaraciones y definiciones para la clase Tree.

Autor:
Adolfo Di Mare <adolfo@di-mare.com>
Fecha:
2004

Definición en el archivo Tree_V.h.


Documentación de las definiciones

#define USE_v_Alive
 

Definición en la línea 20 del archivo Tree_V.h.


Documentación de las funciones

bool operator== const Tree p,
const Tree q
[inline]
 

Definición en la línea 688 del archivo Tree_V.h.

bool operator!= const Tree p,
const Tree q
[inline]
 

Definición en la línea 689 del archivo Tree_V.h.

bool Check_Ok Tree T  ) 
 

Verifica que se cumpla la invariante de la clase, o sea, que el objeto esté bien construido.

  • La razón por la que esta función no es un método es continuar la costumbre de muchos programadores quienes no definen la invariante para sus clases, pues en muchos casos sobra hacerlo.
  • No invoca Check_Ok( value_type& ) para cada valor almacenado, aunque si el árbol cumple con su invariante necesariamentes es porque también sus elementos almacenados están bien construidos.
  • Esta función en general es difícil de implementar, y en algunos casos es imposible pues, cuando el objeto no está bien construido, puede ocurrir que la función no retorne (como ocurriria si un nodo interno del árbol apunta de vuelta a la raíz, lo que se resulta en un círculo).
  • En general, la implementáción de esta función no es completa pues hay casos en que es imposible verificar la invariante de una clase.

Complejidad:
O( Count() ) ==> tiempo
O( Height() ) ==> espacio
Postcondición:
Retorna "true" si el árbol es un objeto bien construido
Ver también:
Check_Ok(Tree&)

http://www.di-mare.com/adolfo/binder/c04.htm#sc11

Definición en la línea 740 del archivo Tree_V.h.

bool Check_Ok_Tree Tree T  )  [inline]
 

Verifica que se cumpla la invariante de la clase, o sea, que el objeto esté bien construido.

  • Además de todo el trabajo que hace Check_Ok(Tree& T), acá hay que constatar que el nodo raíz no tiene padre, que es la diferencia fundamental entre un árbol y un sub-árbol

Postcondición:
Retorna "true" si el árbol es un objeto bien construido

Desaprobado:
Los árboles y los sub-árboles son la misma cosa.
Ver también:
Check_Ok(Tree&)

Definición en la línea 1000 del archivo Tree_V.h.


Generado el Sun Feb 19 09:37:34 2006 para Uso de TL::Tree y TV::Tree: por  doxygen 1.3.9.1