370 likes | 574 Vues
Figure:. Estructuras de datos. Fichas ordenas en orden alfabético y por otro criterio, usando hilos. : hilo de inicio. : hilo de ficha. : hilo final. ficha + hilo que sale de ella = nodo hilo naranjo = puntero inicio hilo verde = puntero de nodo que apunta a “nada”.
E N D
Figure: Estructuras de datos
Fichas ordenas en orden alfabético y por otro criterio, usando hilos : hilo de inicio : hilo de ficha : hilo final ficha + hilo que sale de ella = nodo hilo naranjo = puntero inicio hilo verde = puntero de nodo que apunta a “nada”
usando hilos, equivalencia en Java : hilo de inicio Nodo inicio; : hilo de ficha class Nodo { int x; Nodo siguiente; } : hilo final es el puntero de un objeto que tiene asignado el valor null apunta a null: Nodo x = new Nodo(…); x.siguiente = null;
El arreglo Readings almacenado en memoria a aprtir de la dirección x
Usando una pila (stack) para imprimir una lista en orden inverso
Procedimiento (que usa una pila auxiliar) para imprimir una lista encadenada en orden inverso
Cola circular que contiene las letras F hasta O realmente almacenada en la memoria
Una cola circular en su forma conceptual en la cual la última celda es “adyacente” a la primera celda
Estructura conceptual y la organización real de un árbol binario que usa sistema de lista encadenada
Vista conceptual de árbol desbalanceado y su almacenamiento como arreglo
Los árboles sucesivamente menores en la búsqueda de la letra J
Procedimiento recursivo Java para imprimir un árbol binario public void imprimeArbol(Nodo r){ if(r!=null){ if(r.izq!=null){ imprimeArbol(r.izq); } System.out.println(r.x); if(r.der!=null){ imprimeArbol(r.der); } } } class Nodo { int x; Nodo izq; Nodo der; Nodo(intxx){ x=xx; } }
Insertar una M en la lista B, E, G, H, J, K, N, P almacenada como árbol binario
M insertada en la lista B, E, G, H, J, K, N, P almacenada como árbol binario
Procedimiento para insertar una nueva entrada en árbol binario (1) public void insertarNodo(int xx){ if(raiz==null){ raiz=new Nodo(xx); } else { insertar(raiz,xx); } }
Procedimiento para insertar una nueva entrada en árbol binario (2) void insertar(Nodo r, intxx){ if(xx==r.x)return; if(xx<r.x){ if(r.izq==null)r.izq=new Nodo(xx); else insertar(r.izq,xx); return; } if(xx>r.x){ if(r.der==null)r.der=new Nodo(xx); else insertar(r.der,xx); return; } }