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

[T]est[Tree].cpp ==> Ejemplos de uso de la clase Arbol. Más...

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

Ir al código fuente de este archivo.

Funciones

int make_a_o (Tree &T)
 Primero vacea "T" y luego le inserta estos valores:.
int make_graft (Tree &T)
 Trabaja con un árbol similar al que produce "make_a_o()" para usar Tree::Graft().
int make_graft_A123 (const char *tittle)
int make_mirror (const char *tittle, Tree &T, int make_fun(Tree &))
 Trabaja con un árbol similar al que produce "make_a_o()" para Mirror().
int make_a13 (Tree &T)
 Primero vacea "T" y luego le inserta los valores [a [1 3]].
int make_a123 (Tree &T)
 Primero vacea "T" y luego le inserta los valores [a [1 2 3]].
int make_a024 (Tree &T)
 Primero vacea "T" y luego le inserta los valores [a [0 2 4]].
int make_a1234 (Tree &T)
 Primero vacea "T" y luego le inserta los valores [a [1 2 3 4]].
Tree 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.
int main_TTree ()
int main ()
 Este el el progama principal para pobar Tree.
int make_a035 (Tree &T)
 Primero vacea "T" y luego le inserta los valores [a [0 3 5]].
void Print_Depth_Height (Tree &T, unsigned indent)


Descripción detallada

[T]est[Tree].cpp ==> Ejemplos de uso de la clase Arbol.

Definición en el archivo TTree.cpp.


Documentación de las funciones

int make_a_o Tree 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 847 del archivo TTree.cpp.

int make_graft Tree T  ) 
 

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

Definición en la línea 896 del archivo TTree.cpp.

int make_graft_A123 const char *  tittle  ) 
 

Definición en la línea 678 del archivo TTree.cpp.

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

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 631 del archivo TTree.cpp.

int make_a13 Tree T  ) 
 

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

     a
   ./ \.
    1 3

Definición en la línea 747 del archivo TTree.cpp.

int make_a123 Tree T  ) 
 

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

     a
   ./|\.
   1 2 3

Definición en la línea 781 del archivo TTree.cpp.

int make_a024 Tree T  ) 
 

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

     a
   ./|\.
   0 2 4

Definición en la línea 763 del archivo TTree.cpp.

int make_a1234 Tree 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 816 del archivo TTree.cpp.

Tree 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 664 del archivo TTree.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 984 del archivo TTree.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 1009 del archivo TTree.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 1087 del archivo TTree.cpp.

int main_TTree  ) 
 

int main  ) 
 

Este el el progama principal para pobar Tree.

Definición en la línea 33 del archivo TTree.cpp.

int make_a035 Tree T  ) 
 

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

     a
   ./|\.
   0 3 5

Definición en la línea 798 del archivo TTree.cpp.

void Print_Depth_Height Tree T,
unsigned  indent
 

Definición en la línea 962 del archivo TTree.cpp.


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