Rekursion

markusj
Beiträge: 164
Registriert: Do 23. Okt 2008, 22:07

Re: Rekursion

Beitrag von markusj »

Wichtig ist, dass deine Point-Objekte NUR INTEGER verwenden, anstelle des bei Pepper geläufigen doubles.

Außerdem: Newsgroup geht eigentlich 1A, sogar ohne VPN. Von mir getestete und funktionierende Clients: Thunderbird, Outlook Express (Notsituation ...)

Wie man sich die Newsgroup entsprechend einrichtet, lässt sich dem PDF "Anmeldung beim Praktomat" entnehmen.

mfG
Markus
Christian S.
Beiträge: 225
Registriert: Sa 25. Okt 2008, 12:48

Re: Rekursion

Beitrag von Christian S. »

ryo hat geschrieben: Dort wird auch grob auf die zwei möglichen implementierungen eingegangen. entweder erzeugt mann immer neue field objekte (oop- variante) oder man benutzt nur ne rekursive Methode ("performance- fraktion" *g*) wobei man bei letzterem en bissl aufpassen soll, wenn ichs recht in erinnerung habe.
Laut Herrn Lochbihler ist beides in Ordnung, weil das erste natürlich ooer ist, das letztere aber wesentlich effizienter ist - und das nicht in einem Weihnachtsrätsel-Codebrocken-Sinne :D.
Blurio
Beiträge: 56
Registriert: Do 20. Nov 2008, 21:39

Re: Rekursion

Beitrag von Blurio »

markusj hat geschrieben:Wichtig ist, dass deine Point-Objekte NUR INTEGER verwenden, anstelle des bei Pepper geläufigen doubles.
Jo, von wegen GANZZAHLIG, ne?
Blurio
Beiträge: 56
Registriert: Do 20. Nov 2008, 21:39

Re: Rekursion

Beitrag von Blurio »

Kann mir einer sagen, warum das hier ne Liste mit Größe 0 erzeugt?

Field r2 = points.subList((points.size() / 2 + 1), (points.size() - 1));
Blurio
Beiträge: 56
Registriert: Do 20. Nov 2008, 21:39

Re: Rekursion

Beitrag von Blurio »

Bleh, habs
Zuletzt geändert von Blurio am So 1. Mär 2009, 21:21, insgesamt 1-mal geändert.
elTybbq
Beiträge: 49
Registriert: Mo 27. Okt 2008, 21:28

Re: Rekursion

Beitrag von elTybbq »

subList erzeugt die Teilliste vom linken Index bis zum rechten Index ausschließlich. Soll heißen subList(points.size() / 2, points.size()) wär richtig
Blurio
Beiträge: 56
Registriert: Do 20. Nov 2008, 21:39

Re: Rekursion

Beitrag von Blurio »

Ja, wer lesen kann is klar im Vorteil, danke.
Jetzt fehlt mir nurnoch die Randpunkte Methode, kann ich da einfach den jeweils ersten und letzten Punkt von den Listen in ner neuen Liste speichern und damit dann die Rekursion aufrufen?
Chrisss
Beiträge: 63
Registriert: So 25. Jan 2009, 20:21

Re: Rekursion

Beitrag von Chrisss »

Ich hab da so generell nen bischen das Problem wie ich die Überprüfung an den "Grenzen" durchführen soll.
Zuerst hätte ich gedacht klar die beiden Indices rechts und links von der "Trennlinie" aber das funktioniert nicht immer.
Die Punkte sind ja nach x, bzw bei gleichen x-Coords nach y sortiert. Sagen wir ich hab die Punkte (2,2) (2,4) und dann so ne "Trennlinie" und noch den Punkt (3,2) rechts davon. Der Index links von der Linie gehört zu dem Punkt (2,4), jedoch ist der Abstand von (2,2) zu (3,2) kleiner, somit besteht die Möglichkeit, dass ich das Paar mit dem kleinsten Abstand nicht erfasse.
Also müsste ich ja genau wissen, an welcher x-Koordinate diese "Trennlinie" ist, allerdings sieht für mich die bei der Aufgabenstellung beiliegende Grafik nicht wirklich so aus, als könnte man generell sagen, wo diese Trennlinien sind. Zumal die einzige Bedingung an das Aufteilen in die Teilfelder ist, dass sie die Hälfte der Punkte des ganzen Feldes enthalten sollen... Wo genau ich die Trennlinie mach(zwischen den richtigen Punkten natürlich), is also recht willkürlich!
Werd mir das noch ne Weile überlegen, bitte korrigiert mich falls ich hier irgendwie was übersehen hab, diese stelle verwirrt mich wie gesagt bezüglich der implementierung :think:
ryo
Beiträge: 143
Registriert: So 16. Nov 2008, 18:51

Re: Rekursion

Beitrag von ryo »

und wieder der Verweis an die Newsgroup, wurde da schon diskutiert

du kannst z.b. die innersten punkte oder die äußestten punkte nehmen, von deren x - koordinaten das mittel bilden und von da aus suchen, welche punkte p ein delta x <= shortestDistance haben, diese speichern und dann die rechts der trennlinie mit denen links der trennlinie vergleichen
Thomas
Administrator
Beiträge: 383
Registriert: Do 23. Okt 2008, 20:16
Wohnort: Karlsruhe
Kontaktdaten:

Re: Rekursion

Beitrag von Thomas »

ich habs so gemacht, dass ich den letzten punkt des linken feldes als trennlinie nehme wenn ich das rechte feld betrachte und speicher dann die punkte die eine x-koordinate <= x + abstand haben und wenn ich das rechte teilfeld betrachte umgekehrt da nehm ich den ersten punkten des linken feldes und betrachte die punkte x-koordinate >= x - abstand hat bei mir eigentlich ganz gut funktioniert und herr lochbihler hat auch sein ok gegeben
Antworten

Zurück zu „Allgemein“