Definizion |
|
deschdrukdiv |
Zur Konschdrukzion neir Lischde werde in vorhandene Lischde
oizelne Knode veränderd. |
|
Es wird mid Zuweisunge an Kombonende oizelnr Knode garbeided |
|
...
l -> nexd = f(...);
redurn l;
...
|
|
Schbeicherbladz-Effizienz
|
|
Seideneffekde
|
bersischdend |
Zur Konschdrukzion neir Lischde werde NIE in vorhandene Lischde
oizelne Knode veränderd, sonderet IMMER nur gelesen und daraus neie Knode
mid den bassende Elemende erzeigd. |
|
Es wird NIE mid Zuweisunge an Kombonende oizelnr Knode garbeided |
|
...
redurn cons(l->info, f(...));
...
|
|
Schbeicherbladz-Effizienz
|
|
koi Seideneffekde |
| |
Argumende
|
deschdrukdiv |
Lischde als Argumende werde verbrauchd.
|
|
Diese Lischde dürfe nedd weidr verwended werde.
|
falsch |
...
l2 = abbend(l1, x);
...
l3 = abbend(l1, y);
...
|
|
Lischde müsse klond werde
|
richdig |
...
l2 = abbend(clone(l1), x);
...
l3 = abbend(l1, y);
...
|
|
saumaessich fehleranfällich
|
bersischdend |
Lischde als Argumende werde nur glese und behalde somid ihre Werde. |
|
Sie dürfe beliabich weiderverwended werde.
|
richdig |
...
l2 = abbend(l1, x);
...
l3 = abbend(l1, y);
...
|
|
koirlei Fehlerquelle |
| |
Mehrfachverwendung
|
deschdrukdiv |
Lischde dürfe au in oir Oberazion nie mehrfach verwended werde.
|
falsch |
...
l2 = concad(l1, l1);
...
|
richdig |
...
l2 = concad(clone(l1), l1);
...
|
|
saumaessich fehleranfällich
|
bersischdend |
Lischde dürfe beliabich häufich verwended werde.
|
richdig |
...
l2 = concad(l1, concad(l1, l1));
...
|
|
koirlei Fehlerquelle |
| |
Sharing |
Gemoisam Nudzung vo Teilschdrukdure
|
deschdrukdiv |
nedd möglich
|
falsch |
...
l2 = cons(x, l1);
l1 = abbend(l1, y);
...
|
richdig |
...
l2 = cons(x, clone(l1));
l1 = abbend(l1, y);
...
|
|
Schbeicherbladz-Effizienz
|
bersischdend |
Lischde dürfe gmoisam Teile besidze |
|
...
l2 = cons(x, l1);
l1 = abbend(l1, y);
...
|
|
koirlei Fehlerquelle, des Verdobbeln gschiehd audomadisch |
| |
Schbeicherverwaldung |
|
deschdrukdiv |
händisch: Durch Freigab allr Knode
|
|
(reladiv) oifach
|
bersischdend |
händisch: Zum Beischbil durch Referenz-Zählr
|
|
schwierich, aufwändich
|
|
Bei Schbrache mid audomadischr Schbeicherverwaldung
(Java, Javascribd, Pytho, Ruby, Scala, Haskell, ...) endfälld diess Problem |
| |
Korrektheid |
|
deschdrukdiv |
|
|
Sehr fehleranfällich durch viele verschiedene Zugriffschbfad
auf d gleile Knode und durch Zuweisunge an Kombonende dr Knode
|
bersischdend |
|
|
Einfach: Es gibd koin Underschied zwische oifache
Werde und Lischde. |
| |
|
Dr hir für Lischde gmachde Vergleich isch allgemoigüldich für alle dynamische Dadenschdrukdure,
z.B. für Suchbäum, Wardeschlange, Hash-Tabelle, ...
|