RE:Ordenamiento: Método del árbol
Si te refieres a la carga de un árbol binario en la cual al cargar ordenas los elementos de tal manera que al leer el arbol en orden Infijo la lista resultante está ordenada, el algoritmo es bastante sencillo.
Pides un número, si al tratar de insertarlo en el árbol la raiz de este a punta a NIL entonces, cargas el número en la raiz y cargas en sus punteros el valor NIL
Si ya existe un número verificas como es el nuevo número con respecto a la raiz,si es menor buscas en la izquierda, si es mayor buscas en la derecha, es un algoritmo recursivo en donde debes de buscar hasta encontrar un NIL, caso en el que en asignas memoria y cargas en el nuevo nodo el número leído cargando sus punteros con el valor NIL.
Si al siguiente arbol inserta un 12
| 15
| / \
| 10 17
| / \ / \
|nil nil nil nil
1.-comparas la raiz, no es NIL
2.-Comparas con el valor en la raíz, 12<15 por lo tanto vas a la izq.
3.-(Este paso es igual al primero) comparas el nuevo nodo, no es NIL.
4.-(Este paso es igual al segundo) comparas con el valor en el nuevo nodo, 12>10 por lo tanto vas a la derecha.
5.-Comparas el nuevo nodo y es NIL
6.-Asignas memoria y cargas el dato
El arbol queda así:
| 15
| / \
| 10 17
| / \ / \
|nil 12 nil nil
| / \
nil nil