| Jorge Luis Valdes (UCI-Cuba) (?rbol Binario B?squeda) |
|
|
|
Esta es la declaraci?n de una clase de un (ABB). No est? completa porque la estoy implementando ahora, la sub? para el que desee aportar algo.
Chao........ jlvaldes |
template
class C_ABB
{
private:
T *raiz;
C_ABB *izq;
C_ABB *der;
public:
inline C_ABB();
inline C_ABB(const C_ABB *);
inline C_ABB(T*);
__property C_ABB * PIzq= {read = izq, write = izq};
__property C_ABB * PDer= {read = der, write = der};
CListaDE * Pre_Orden();
CListaDE * Entre_Orden();
CListaDE * Post_Orden();
CListaDE * A_lo_Ancho();
CListaDE * Mayores_que(T raiz); //retorna una lista de los elementos mayores que "raiz"
CListaDE * Menores_que(T raiz); //retorna una lista de los elementos menores que "raiz"
CListaDE * Iguales(); //retorna una lista de las raices iguales
CListaDE * Hermanos_Nivel(int N); //elementos que esta en el niver N
CListaDE*> * Arboles_Izq();
CListaDE*> * Arboles_Der();
C_ABB * Obtener(T);
C_ABB * Menor(); // obtengo el arbol mas a la izquierda
C_ABB * Mayor(); // obtengo el arbol mas a la derecha
C_ABB * Extremo_Izq_Nivel_N(int N); //dado un nivel N me devuelve el arbo mas a la izquierda
C_ABB * Extremo_Der_Nivel_N(int N); //dado un nivel N me devuelve el arbo mas a la derecha
bool Buscar(T);
bool Es_Hoja();
bool Es_Vacio();
void Adicionar(T);
void Podar();
void Eliminar_Raiz_Dejar_hijos();
int Peso();
private:
void Mi_Pre_Orden(C_ABB *,CListaDE *);
void Mi_Entre_Orden(C_ABB *,CListaDE *);
void Mi_Post_Orden(C_ABB *,CListaDE *);
void Mi_A_lo_Ancho(C_ABB *,CListaDE *);
}; |
|
| ? |
| Terminos de Uso |
|
1 - Copiar o Descargarse este contenido implica aceptar los terminos aqui detallados.
2 - Usted puede utilizar este contenido en sus propios programas y puede compilarlo en un programa y modificarlo a su gusto.
3 - Usted NO PUEDE redistribuir este contenido tal como se presenta aqui sin el permiso del autor original del mismo.
4 - Usted seguir? cualquier restricci?n adicional del copyright que el autor pudo haber puesto en la descripci?n del contenido.
|
|
|