G
Guest
Gast
Hallo,
ich arbeite im moment an einem Geschwindigkeitsproblem.
Kurz umrissen: Habe ein Array n * n und brauche für weitere Berechnungen horizontale und vertikale Summenreihen, die von n bis n gehen können, also ergeben sich bei jedem Schritt in einer geschachtelten for-schleife immer unterschiedliche horizontale und vertikale Summen.
Habe also die aktuell errechnete vertikale und horizontal Summen in zwei weitere Arrays auch mit der größe n gepackt. Dies alles ist vom Aufwand her nicht so tragisch, geht realtiv schnell und ist ausreichend.
Wenn ich nun anfangen die Summenreihgen aus den beiden Arrays zu holen und zu addieren oder subtrahieren, geht natürlich die geschwindigkeit runter.
ich denke, dass die laufzeit so bei n²*log n liegt und daran werde ich, wenn ich keine super idee bekomme, auch nix machen können.
Mein Frage ist nun, lohnt es sich das ganze umzuschreiben auf z.B. eine/mehrere ArrayList setzen? Ist eine ArrayList schneller als ein Array bzw. welche Datenstruktur könnte sich besser eignen. Habt ihr eien Idee?
P.s. Es handelt sich um einen Semesterwettbewerb, deshalb kann ich keinen code posten oder weiter auf die Funktion eingehen. Hoffe es ist soweit verständlich.
ich arbeite im moment an einem Geschwindigkeitsproblem.
Kurz umrissen: Habe ein Array n * n und brauche für weitere Berechnungen horizontale und vertikale Summenreihen, die von n bis n gehen können, also ergeben sich bei jedem Schritt in einer geschachtelten for-schleife immer unterschiedliche horizontale und vertikale Summen.
Habe also die aktuell errechnete vertikale und horizontal Summen in zwei weitere Arrays auch mit der größe n gepackt. Dies alles ist vom Aufwand her nicht so tragisch, geht realtiv schnell und ist ausreichend.
Wenn ich nun anfangen die Summenreihgen aus den beiden Arrays zu holen und zu addieren oder subtrahieren, geht natürlich die geschwindigkeit runter.
ich denke, dass die laufzeit so bei n²*log n liegt und daran werde ich, wenn ich keine super idee bekomme, auch nix machen können.
Mein Frage ist nun, lohnt es sich das ganze umzuschreiben auf z.B. eine/mehrere ArrayList setzen? Ist eine ArrayList schneller als ein Array bzw. welche Datenstruktur könnte sich besser eignen. Habt ihr eien Idee?
P.s. Es handelt sich um einen Semesterwettbewerb, deshalb kann ich keinen code posten oder weiter auf die Funktion eingehen. Hoffe es ist soweit verständlich.