Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ARISTA (RAMA)
PADRE NODO
HIJO
HERMANO
HOJAS
OTROS CONCEPTOS
CAMINO:
ABEKS
ADIPu
NIVEL:
El nivel es número de nodos que se encuentran entre él y la raíz.
GRADO O ARIDAD:
Es el número de hijos de un nodo. El número de aridad del árbol completo es igual a la
cantidad máxima de hijos que pueda tener un nodo.
El árbol anteriormente mostrado tiene aridad o grado: 3 porque la raíz es el que tiene la
cantidad máxima de hijos que es 3.
ÁRBOL BINARIO
Son árboles donde los nodos no pueden tener más de dos hijos o descendientes.
Los hijos son conocidos como nodo izquierdo y nodo derecho. Los nodos de cada subárbol no
pueden pertenecer a otro subárbol.
ÁRBOL EQUILIBRADO:
Un árbol equilibrado es un árbol en el que para cada nodo el número de niveles de sus
subárboles izq y der no debe diferir en más de una unidad.
También podemos decir que los operadores se colocan en la raíz y los operandos izquierdo
y derecho serían los nodos izquierdo y derecho respectivamente. Si tenemos una operación en el
operando izquierdo o derecho, estarían presenciando un sub árbol para poder representar dicha
sub expresión.
Ejemplos:
Árbol Lleno
CONSTRUCCIÓN:
struct Nodo
int val;
};
Inserción:
if(raiz == NULL) {
raiz = n;
return;
}else{
Insertar(raiz->izq, v);
}else{
Insertar(raiz->der, v);
}
RECORRIDOS (PROFUNDIDAD Y NIVEL):
PreOrden
EnOrden
PostOrden
if (raiz != NULL) {
PreOrden(raiz->izq);
PreOrden(raiz->der);
if (raiz != NULL) {
EnOrden(raiz->izq);
cout<<raiz->val<<endl;
EnOrden(raiz->der);
if (raiz != NULL) {
PostOrden(raiz->izq);
PostOrden(raiz->der);
cout<< raiz->val<<endl;
//Operaciones de Colas
nodoNuevo->val = valor;
nodoNuevo->sgte = NULL;
if (cola == NULL){
cola = nodoNuevo;
else{
aux = cola;
aux = aux->sgte;
if (aux->sgte == NULL){
aux->sgte = nodoNuevo;
if (cola != NULL)
aux = cola;
nodoArbol = aux->val;
aux = aux->sgte;
cola = aux;
return nodoArbol;
aux = cola;
while (aux!=NULL){
if (raiz != NULL) {
Encolar(raiz, cola);
aux = Desencolar(cola);
cout<<aux->val<<endl;
if (aux->izq != NULL){
Encolar(aux->izq, cola);
if (aux->der != NULL){
Encolar(aux->der, cola);