übung 2 durchlaufen der abstrakten sequenz

hendrik
Neuling
Neuling
Beiträge: 3
Registriert: 2. Mai 2013 23:22

übung 2 durchlaufen der abstrakten sequenz

Beitrag von hendrik »

Hallo
ich überlege mir gerade wie ich durch die abstaktesequenz durchlaufe.
darf ich davon ausgehen dass die arrays am anfang nie so ausehen[ void, a, void] sonder, dass zu beginn nach einem void alles void ist? also [a, b, void, ....., void]

edit : ist die abstrake sequenz bei der liste wie im beispiel [1, void, void] [2, 3, void] [4, void, void] dann (1, 2,3,4) oder (1,void, void, 2, 3,void, 4 , void, void)?

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: übung 2 durchlaufen der abstrakten sequenz

Beitrag von JannikV »

Hi,

ja davon kannst du ausgehen, da alles andere keine gültige ArraysList ist.

Zum edit: eher letzteres

hendrik
Neuling
Neuling
Beiträge: 3
Registriert: 2. Mai 2013 23:22

Re: übung 2 durchlaufen der abstrakten sequenz

Beitrag von hendrik »

also wenn ich folgende arrays habe [1, void void] [2,3, void]
und die 2 verschieben will und nach der iteration folgende arrays habe
[1,2 void] [void 3, void]
würde ich dann einen fehler erhalten ?

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: übung 2 durchlaufen der abstrakten sequenz

Beitrag von JannikV »

Ne, während deine Methode läuft darf das ruhig so aussehen.
Du kannst aber davon ausgehen, dass die ArrayList vor deiner Methode nicht so aussieht und du musst dafür sorgen dass es nach deine Methode auch nicht so aussieht.

Stichwort Implementationsinvariante. Die besagt bei der ArrayList, dass in jedem Array die ersten n Slots besetzt sind und danach nur noch void kommt. Also dürfen sich Methoden darauf verlassen dass das auch so ist, müssen logischerweise aber dafür sorgen dass sie selbst diese Eigenschaft nach Terminierung nicht kaputt gemacht haben.

ChrisCross
Neuling
Neuling
Beiträge: 3
Registriert: 5. Mai 2013 00:15

Re: übung 2 durchlaufen der abstrakten sequenz

Beitrag von ChrisCross »

Also kann auch nicht ein sein, dass in der Input Sequenz ein KeyItem mit n=0 drin ist? Es gelten die selben Bedingungen für meine Input Sequenz, wie die für den Output von compress()?

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: übung 2 durchlaufen der abstrakten sequenz

Beitrag von JannikV »

Hey,

n=0 könnte maximal beim ersten KeyItem der Fall sein, wenn sich eben gar kein Element in der Liste befindet.

VG

sim
Windoof-User
Windoof-User
Beiträge: 34
Registriert: 6. Apr 2012 20:24

Re: übung 2 durchlaufen der abstrakten sequenz

Beitrag von sim »

JannikV hat geschrieben:Hey,

n=0 könnte maximal beim ersten KeyItem der Fall sein, wenn sich eben gar kein Element in der Liste befindet.

VG
Sollte dann nicht einfach gar kein KeyItem vorhanden sein, also first = null sein?
Dann ist ja auch in diesem Fall in keinem KeyItem n = 0.

Benutzeravatar
JannikV
Nerd
Nerd
Beiträge: 609
Registriert: 24. Apr 2011 12:42

Re: übung 2 durchlaufen der abstrakten sequenz

Beitrag von JannikV »

Das kommt auf die Implementierung an. Kann durchaus auch so sein.

Antworten

Zurück zu „Archiv“