tiefe gleichheit / flache gleichheit

Status
Nicht offen für weitere Antworten.

BlubBlub

Bekanntes Mitglied
also ich hab mir jetzt schon einige sachen im interten über den unterschied zwischen tiefer gleichheit und flacher gleichheit durchgelesen.
dabei ist aber eine sache für mich nicht ganz klar.
folgende situation:

BinTree wurzelzeiger1;
Bin Tree wurzelzeiger2;

BinTree baum1;
BinTree baum2;

Variante A: man stelle sich vor dass wurzeilzeiger1 auf baum1 zeigt und wurzelzeiger2 auf baum2 zeigt. dabei ist baum2 eine tiefe kopie von baum1.
damit wären wurzelzeiger1 und wurzelzeiger2 tief gleich.

Variante B: man stelle sich nun vor das wurzelzeiger1 und wurzelzeiger2 auf baum1 zeigen, damit handelt es sich bei wurzelzeiger1 und wurzelzeiger2 um flache gleichheit.

Variante C: man stelle sich vor dass wurzelzeiger1 auf baum1 zeigt und wurzelzeier2 auf baum2 zeigt. dabei ist baum2 eine tiefe kopie von baum1. aber es gibt jetzt eine kleine abweichung zu Variante A. nämlich jetzt soll das blatt nr.6 von baum1 und das blatt nr.6 von baum2 auf ein objekt C zeigen also die referenzen von blatt nr.6 von baum1 und von blatt nr.6 von baum2 sind identisch.
worum handelt es sich denn hierbei?
 

Landei

Top Contributor
Um irgendwas dazwischen. Ist normalerweise keine gute Idee, dei beiden Konzepte zu vermischen.
 

Painii

Bekanntes Mitglied
Inhaltlich gleich = "tiefe gleichheit" (sieht man in java mit equals)
"physisch" gleich/das gleiche Objekt = "flache gleichheit" (sieht man in java mit == )

Kann sich beides natürlich auch überdecken, dass dein zeiger1 auf baum1 und zeiger2 auf baum2 zeigt, also "tief" ist, die elemente dann aber flach gleich sind (sprich es sind die gleichen objekte referenziert)
 

BlubBlub

Bekanntes Mitglied
achso ok dann wäre variante c also eine mischform , aber man würde es keinem der beiden fälle exklusiv zuordnen. danke für die antworten hab mir die ganze zeit darüber nämlich den kopf zerbrochen aber keine antwort zu so einem fall im internet gefunden und zunächst erschien es mir deshalb dass es nur tiefe und flache gleichheit gibt, aber somit gibt es also auch mischformen.
 

Painii

Bekanntes Mitglied
Für ein Objekt gibt es nur eine Form, für ein zusammengesetztes Objekt (also wo auch wieder Referenzen im Objekt auf andere Objekte gespeichert werden) musst du die Einzelteile und das Objekt selbst betrachten :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Tiefe Objekte schreiben Allgemeine Java-Themen 1
C Best Practice Tiefe Kopie eines Arrays unbekannter Dimension und unbekannten Typs Allgemeine Java-Themen 4
C Methode für tiefe Kopie eines unbekannt (dimensionierten & typisierten) Feldes realisierbar? Allgemeine Java-Themen 7
D Datenstruktur für Hierarchie/Baum mit Tiefe 3 Allgemeine Java-Themen 8
E tiefe Kopie nicht serialisierbarer Objekte Allgemeine Java-Themen 3
W Tiefe eines Knotens Allgemeine Java-Themen 3
S Tiefe Kopie einer Baumstruktur als statische Methode Allgemeine Java-Themen 8
M Verschachtelte Schleifen (unbekannte Tiefe) Allgemeine Java-Themen 3
Linad Tiefe der Rekursion als Abbruchbedingung Allgemeine Java-Themen 6
J Arrays auf gleichheit untersuchen funktioniert nicht Allgemeine Java-Themen 11
A Bilder vergleichen auf gleichheit oder ähnlichkeit Allgemeine Java-Themen 8
B Dateien prüfen auf Gleichheit Allgemeine Java-Themen 5
turmaline Gleichheit von zwei Maps Map <String, Map <String, String>> Allgemeine Java-Themen 30
J Comparator bei Gleichheit zweites Kriterium mitgeben Allgemeine Java-Themen 4
N 2 files auf gleichheit vergleichen Allgemeine Java-Themen 5
J Chars auf Gleichheit mit Klamern/Operatoren überprüfen Allgemeine Java-Themen 3
Linad Bilder auf Gleichheit prüfen Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben