|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuoc.ei.tads.ArbreAbstracte<E>
uoc.ei.tads.ArbreBinari<E>
uoc.ei.tads.ArbreBinariEncadenatImpl<E>
public class ArbreBinariEncadenatImpl<E>
Classe que implementa les operacions de qualsevol arbre binari, el qual es caracteritza per organitzar els seus elements (nodes) formant una jerarquia: tot node (tret de l'arrel que es el cap de la jerarquia) és descendent d'un node únic, i pot ser ascendent d'un mŕxim de dos nodes (quan no té descendents s'anomena fulla).
Nested Class Summary | |
---|---|
protected static class |
ArbreBinariEncadenatImpl.NodeArbre<EN>
Classe que implementa un node amb dos encadenaments a node. |
Nested classes/interfaces inherited from class uoc.ei.tads.ArbreBinari |
---|
ArbreBinari.RecorregutFills<E>, ArbreBinari.RecorregutInordre<E>, ArbreBinari.RecorregutOrdreBasic<E>, ArbreBinari.RecorregutPerNivell<E>, ArbreBinari.RecorregutPostordre<E>, ArbreBinari.RecorregutPreordre<E> |
Nested classes/interfaces inherited from class uoc.ei.tads.ArbreAbstracte |
---|
ArbreAbstracte.RecorregutPerNivells<E> |
Field Summary | |
---|---|
protected ArbreBinariEncadenatImpl.NodeArbre<E> |
root
Punter a l'arrel de l'arbre. |
Constructor Summary | |
---|---|
ArbreBinariEncadenatImpl()
|
Method Summary | |
---|---|
Posicio<E> |
afegir(Posicio<E> pare,
E elem)
Afegeix un element com a nou fill de la posició rebuda, si es pot. |
Posicio<E> |
afegirFillDret(Posicio<E> pare,
E elem)
Afegeix un element com a fill dret de la posició rebuda, si es pot. |
Posicio<E> |
afegirFillEsquerre(Posicio<E> pare,
E elem)
Afegeix un element com a fill esquerre de la posició rebuda, si es pot. |
Posicio<E> |
arrel()
Accessor de lectura de l'arrel de l'arbre, si n'hi ha. |
protected ArbreBinariEncadenatImpl.NodeArbre<E> |
crearNode(Posicio<E> pare,
E elem)
Crea un nou node, amb dos encadenaments a node, que emmagatzema un element. |
void |
esborrar(Posicio<E> pare,
Posicio<E> fill)
Esborra el subarbre representat per la posició fill, si es pot. |
boolean |
estaBuit()
Mčtode per a comprovar si el contenidor estŕ buit. |
Posicio<E> |
fillDret(Posicio<E> node)
Accessor de lectura del fill dret d'una posició de l'arbre. |
Posicio<E> |
fillEsquerre(Posicio<E> node)
Accessor de lectura del fill esquerre d'una posició de l'arbre. |
void |
intercanviar(Posicio<E> node1,
Posicio<E> node2)
Intercanvia els elements continguts a les posicions rebudes. |
int |
nombreElems()
Accessor de lectura del nombre d'elements que hi ha al contenidor. |
E |
reemplacar(Posicio<E> node,
E elem)
Reemplaça l'element contingut a la posició rebuda. |
protected void |
reemplacarSubarbre(Posicio<E> pare,
Posicio<E> fill,
Posicio<E> nou)
Reemplaça el subarbre representat per la posició fill, si es pot. |
Methods inherited from class uoc.ei.tads.ArbreBinari |
---|
elements, esFulla, fills, posicions, recorregutInordre, recorregutPostordre, recorregutPreordre, toString |
Methods inherited from class uoc.ei.tads.ArbreAbstracte |
---|
nombreElems, nombreFills, recorregutPerNivells, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected ArbreBinariEncadenatImpl.NodeArbre<E> root
Constructor Detail |
---|
public ArbreBinariEncadenatImpl()
Method Detail |
---|
public int nombreElems()
public boolean estaBuit()
estaBuit
in interface Contenidor<E>
estaBuit
in class ArbreAbstracte<E>
public Posicio<E> arrel() throws ExcepcioContenidorBuit
ExcepcioContenidorBuit
public Posicio<E> afegir(Posicio<E> pare, E elem)
pare
- posició de referčnciaelem
- element que es vol afegir a l'arbre
ExcepcioPosicioInvalida
- si no cap cap més fillpublic Posicio<E> afegirFillEsquerre(Posicio<E> pare, E elem)
afegirFillEsquerre
in class ArbreBinari<E>
pare
- posició de referčnciaelem
- element que es vol afegir a l'arbre
ExcepcioPosicioInvalida
- si alguna posició és null o no
vŕlidapublic Posicio<E> afegirFillDret(Posicio<E> pare, E elem)
afegirFillDret
in class ArbreBinari<E>
pare
- posició de referčnciaelem
- element que es vol afegir a l'arbre
ExcepcioPosicioInvalida
- si alguna posició és null o no
vŕlidapublic Posicio<E> fillEsquerre(Posicio<E> node)
fillEsquerre
in class ArbreBinari<E>
node
- posició de referčncia
ExcepcioPosicioInvalida
- si la posició és null o no
vŕlidapublic Posicio<E> fillDret(Posicio<E> node)
fillDret
in class ArbreBinari<E>
node
- posició de referčncia
ExcepcioPosicioInvalida
- si la posició és null o no
vŕlidapublic void esborrar(Posicio<E> pare, Posicio<E> fill)
pare
- posició del pare; pot ser nullfill
- posició del fill
ExcepcioPosicioInvalida
- si alguna posició és no vŕlidapublic E reemplacar(Posicio<E> node, E elem)
elem
- nou elementnode
- posició de referčncia
ExcepcioPosicioInvalida
- si la posició és null o no
vŕlidapublic void intercanviar(Posicio<E> node1, Posicio<E> node2)
node1
- primera de les dues posicions de referčncianode2
- segona de les dues posicions de referčncia
ExcepcioPosicioInvalida
- si alguna posició és null o no
vŕlidaprotected void reemplacarSubarbre(Posicio<E> pare, Posicio<E> fill, Posicio<E> nou)
pare
- posició del pare; pot ser nullfill
- posició del fillnou
- posició amb el nou arbre o subarbre; pot ser null
ExcepcioPosicioInvalida
- si alguna posició és no vŕlidaprotected ArbreBinariEncadenatImpl.NodeArbre<E> crearNode(Posicio<E> pare, E elem)
elem
- element que es vol desar al node
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |