Memória és mutatókat a BST

szavazat
0

A bináris kereső fába, hogy vesz egy egyszerű tárgy ..... ha megteremti a getter és setter módszerek a balra, jobbra, és a szülő. Vannak aggodalmak, hogy mi történik, ha a szülő csomópont van beállítva. Code ordít ...

A kód:

 public void setParent(Person parent) {
  parent = new Person( parent.getName(), parent.getWeight());

A példa kód, amely inspirálta a kódot:

 public void setParent(Node parent) {
  this.parent = parent;
 }
A kérdést 14/11/2011 02:47
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
2

Hozol létre, ami lényegében egy klón a szülő objektum. Ez eltér csak megtakarítás a mutatót a szülő objektum.

Nyilvánvaló, akkor eltart több memóriát kétszerezni a szülő objektum. Ennél is fontosabb, hogy nem megkettőzése a szülő hivatkozásokat. Tehát, ha megpróbálja keresztezik a fa, megy egy csomópont szülő, majd próbálja látogassa meg a többi gyerek, akkor rajzoljon egy csomó null mutatók.

Az this.parentutalás az aktuális objektum parentmutató.

Ez valójában nem jelenti azt, hogy thisegy szülő. Sőt, this.parentlehet különbséget tenni a helyi parentmutatót a bejövő paraméter parent.

class Person{
    Person parent; // <---- this is the "this.parent" attribute, and is initially undefined
    public void setParent(Person parent){ // <---- the "Person parent" on this line is an incoming parameter
        this.parent = parent; //<---- "this.parent" refers to the attribute, and "parent" refers to the parameter
    }
}
Válaszolt 14/11/2011 02:52
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more