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_test.cpp

Prueba de caja negra de la clase Tree<E>. Más...

#include "Tree_V.h"
#include "Tree_Ex.h"
#include <bitset>
#include <algorithm>
#include <cstring>

Ir al código fuente de este archivo.

Definiciones

#define USE_Tree_V

Funciones

int make_a_o (Tree< char > &T)
 Primero vacea "T" y luego le inserta estos valores:.
int make_graft (Tree< char > &T)
 Trabaja con un árbol similar al que produce "make_a_o()" para usar Tree<char>::Graft().
int make_graft_A123 (const char *tittle)
int make_mirror (const char *tittle, Tree< char > &T, int make_fun(Tree< char > &))
 Trabaja con un árbol similar al que produce "make_a_o()" para Mirror().
int make_a13 (Tree< char > &T)
 Primero vacea "T" y luego le inserta los valores [a [1 3]].
int make_a123 (Tree< char > &T)
 Primero vacea "T" y luego le inserta los valores [a [1 2 3]].
int make_a024 (Tree< char > &T)
 Primero vacea "T" y luego le inserta los valores [a [0 2 4]].
int make_a1234 (Tree< char > &T)
 Primero vacea "T" y luego le inserta los valores [a [1 2 3 4]].
Tree< char > make_A0xx9 (const char *Astr)
 Toma la hilera "Astr" que tiene la forma "A######" y construye un árbol con ella.
void make_right_A0xx9 (const char *Astr)
 Traslada una posición hacia la derecha cada uno de los hijos de "T".
void make_Change_Child_Graft_A0xx9 (const char *Astr)
 Inserta en "T" los hijos definidos en la hilera "Astr" de todas las formas posibles.
void make_Change_Child_Graft_ALL ()
 Invoca make_Change_Child_Graft_A0xx9() con todas las hileras de 1 a 10 dígitos, efectivamente probando Change_Child() y Graft() con todas las permutaciones posibles de inserción/traslado de hijos.
void Print_Depth_Height (const Tree< char > &T, unsigned indent)
int main_TTree ()
bool check_ok (const char &ch)
int main ()
 Este el el progama principal para pobar Tree<char>.
int make_a035 (Tree< char > &T)
 Primero vacea "T" y luego le inserta los valores [a [0 3 5]].


Descripción detallada

Prueba de caja negra de la clase Tree<E>.

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

Definición en el archivo Tree_test.cpp.


Documentación de las definiciones

#define USE_Tree_V
 

Definición en la línea 18 del archivo Tree_test.cpp.


Documentación de las funciones

int make_a_o Tree< char > &  T  ) 
 

Primero vacea "T" y luego le inserta estos valores:.

                 T = a
                     |--b
                     |  |--f
     T = a           |  |--g
        /|\          |  +--h
      / / \ \        |--c
     b  c d  e       |--d
    /|\     /|\      +--e
   f g h   i j k        |--i
            / \         |--j
            l m         |  |--l
             / \        |  +--m
             n o        |     |--n
                        |     +--o
                        +--k

Definición en la línea 867 del archivo Tree_test.cpp.

int make_graft Tree< char > &  T  ) 
 

Trabaja con un árbol similar al que produce "make_a_o()" para usar Tree<char>::Graft().

Definición en la línea 916 del archivo Tree_test.cpp.

int make_graft_A123 const char *  tittle  ) 
 

Definición en la línea 698 del archivo Tree_test.cpp.

int make_mirror const char *  tittle,
Tree< char > &  T,
int   make_fun(Tree< char > &)
 

Trabaja con un árbol similar al que produce "make_a_o()" para Mirror().

    a               a
    |--b            |--e
    |  |--f         |  |--k
    |  |--g         |  |--j
    |  +--h         |  |  |--m
    |--c            |  |  |  |--o
    |--d            |  |  |  +--n
    +--e            |  |  +--l
       |--i         |  +--i
       |--j         |--d
       |  |--l      |--c
       |  +--m      +--b
       |     |--n      |--h
       |     +--o      |--g
       +--k            +--f

Definición en la línea 651 del archivo Tree_test.cpp.

int make_a13 Tree< char > &  T  ) 
 

Primero vacea "T" y luego le inserta los valores [a [1 3]].

     a
   ./ \.
    1 3

Definición en la línea 767 del archivo Tree_test.cpp.

int make_a123 Tree< char > &  T  ) 
 

Primero vacea "T" y luego le inserta los valores [a [1 2 3]].

     a
   ./|\.
   1 2 3

Definición en la línea 801 del archivo Tree_test.cpp.

int make_a024 Tree< char > &  T  ) 
 

Primero vacea "T" y luego le inserta los valores [a [0 2 4]].

     a
   ./|\.
   0 2 4

Definición en la línea 783 del archivo Tree_test.cpp.

int make_a1234 Tree< char > &  T  ) 
 

Primero vacea "T" y luego le inserta los valores [a [1 2 3 4]].

      a
   . /|\.
   .// \\.
   1 2 3 4

Definición en la línea 836 del archivo Tree_test.cpp.

Tree< char > make_A0xx9 const char *  Astr  ) 
 

Toma la hilera "Astr" que tiene la forma "A######" y construye un árbol con ella.

  • "#" debe ser un dígito [0..9]
  • El árbol retornado tiene a A por raíz, y el hijo número "#" es el dígito "#"

     A                       A                       A
    /|\                     / \                     /|\
   0 2 4                   1   8                   2 3 9
make_A0xx9("A024")    make_A0xx9("A81")    make_A0xx9("A392")

Definición en la línea 684 del archivo Tree_test.cpp.

void make_right_A0xx9 const char *  Astr  ) 
 

Traslada una posición hacia la derecha cada uno de los hijos de "T".

  • Los hijos de "T" son los definidos en la hilera "Astr".
  • A "T" lo construye invocando make_A0xx9(Astr).

Definición en la línea 1003 del archivo Tree_test.cpp.

void make_Change_Child_Graft_A0xx9 const char *  Astr  ) 
 

Inserta en "T" los hijos definidos en la hilera "Astr" de todas las formas posibles.

  • Los hijos de "T" son los definidos en la hilera "Astr".
  • A "T" lo construye invocando make_A0xx9(Astr).
  • Permuta "Astr" para obtener todas las formas posibles de insertar valores en el árbol.
  • Para Graft() también crea nietos, y los elimina.
  • Usa "next_permutation()" para obtener todas las posible permutaciones de la hilera "Astr".

Complejidad:
Usa por lo menos tiempo O( N! ), donde N == strlen(Astr) , así que necesariamente strlen(Astr) debe ser pequeño, no mayor a 6 o a 7.

Definición en la línea 1027 del archivo Tree_test.cpp.

void make_Change_Child_Graft_ALL  ) 
 

Invoca make_Change_Child_Graft_A0xx9() con todas las hileras de 1 a 10 dígitos, efectivamente probando Change_Child() y Graft() con todas las permutaciones posibles de inserción/traslado de hijos.

  • Hace el trabajo construyendo una hilera de la forma Astr == "A01...9" , para luego invocar make_Change_Child_Graft_A0xx9(Astr).
  • La cantidad de pruebas es enorme, pues hay 2^10 == 1024 diferentes números de 10 dígitos en donde ningún dígito se repite.
  • La cantidad de permutaciones para un número de 10 dígitos es 10! == 362880, por lo que esta función toma su buena tajada de tiempo de ejecución, aunque cuando hay pocos dígitos en la hilera "Astr" el tiempo de ejecución es relativamente corto.

Definición en la línea 1105 del archivo Tree_test.cpp.

void Print_Depth_Height const Tree< char > &  T,
unsigned  indent
 

Definición en la línea 982 del archivo Tree_test.cpp.

int main_TTree  ) 
 

bool check_ok const char &  ch  )  [inline]
 

Definición en la línea 51 del archivo Tree_test.cpp.

int main  ) 
 

Este el el progama principal para pobar Tree<char>.

Definición en la línea 54 del archivo Tree_test.cpp.

int make_a035 Tree< char > &  T  ) 
 

Primero vacea "T" y luego le inserta los valores [a [0 3 5]].

     a
   ./|\.
   0 3 5

Definición en la línea 818 del archivo Tree_test.cpp.


Generado el Tue Jun 30 06:20:32 2009 para Uso de TL::Tree y TV::Tree: por  doxygen 1.3.9.1