Collections Tupel suchen

H

horstiii1

Gast
UV1.png

könnt ihr mir helfen? Gesucht sind alle (c1,c2) aus cs ( ( und ) 2Tupel ), wobei b(c1)!=b(c2), a(b(c1))!=a(b(c2)), x(d(c1))==x(d(c2)), z(b(c2))<5000 UND |y(a(b(c1)))-y(a(b(c2)))|<5000.
 
H

horstiii1

Gast
Zu schnell auf " erstellen" geklickt....
ist das in Java möglich,
sind die Assoziationen richtig,
wie heißt ein Algorithmus,
und wie aussehen der?
 

mrBrown

Super-Moderator
Mitarbeiter
sind die Assoziationen richtig,
Das solltest du selbst wissen, niemand wird nur aufgrund des Diagramms sagen können, ob es irgendwas unbekanntes korrekt darstellt. Falsch ist aber die Doppelung von Assoziation und Attribut.


wie heißt ein Algorithmus,
und wie aussehen der?
Dafür müsste man erstmal wissen, was du überhaupt genau meinst, sowohl Diagramm als auch Text sind dazu eher kontraproduktiv...

Ansonsten: „Suche“.

Im Zweifelsfall alle Tupel bilden und die nicht passenden aussortieren.
 
H

horstiii1

Gast
x von dem d aus dem d von c1. Stichwort Prädikate :rolleyes:
Etwas technischer c1.d.x oder gar c1->d->x.

Im Zweifelsfall alle Tupel bilden und die nicht passenden aussortieren
Problem! Es gibts 100.000 Cs, also 10 Milliarden Berechnungen wenn man es über allCs macht.... Von Bs gibt es nur 10.000 und As 5.000.

Ist es am Besten über allBs zu laufen?

Und noch was.... Ist zwischen C und D die Beschriftung 1..* -> 1 richtig?

Danke für eure Hilfe, dann muss ich meine Birne nicht anstrengen :oops:
 

mrBrown

Super-Moderator
Mitarbeiter
x von dem d aus dem d von c1. Stichwort Prädikate :rolleyes:
Etwas technischer c1.d.x oder gar c1->d->x.
Dann schreib es auch technisch, mit x(d) wird so ziemlich jeder eine Funktion verbinden...

Problem! Es gibts 100.000 Cs, also 10 Milliarden Berechnungen wenn man es über allCs macht.... Von Bs gibt es nur 10.000 und As 5.000.

Ist es am Besten über allBs zu laufen?
Keine Ahnung. Wie gesagt: "Dafür müsste man erstmal wissen, was du überhaupt genau meinst, sowohl Diagramm als auch Text sind dazu eher kontraproduktiv..."

Und noch was.... Ist zwischen C und D die Beschriftung 1..* -> 1 richtig?
Wie gesagt: "Das solltest du selbst wissen, niemand wird nur aufgrund des Diagramms sagen können, ob es irgendwas unbekanntes korrekt darstellt."

Oder falls du eine Antwort möchtest: ich finde, das sollte <>-3--2-> sein (oder was für eine Antwort erwartest du?)
 

AndiE

Top Contributor
Gesucht sind alle (c1,c2) aus cs ( ( und ) 2Tupel ), wobei b(c1)!=b(c2), a(b(c1))!=a(b(c2)), x(d(c1))==x(d(c2)), z(b(c2))<5000 UND |y(a(b(c1)))-y(a(b(c2)))|<5000.

c1.b!=c2.b UND
c1.b.a!=c2.b.a UND
c1.d.x==c2.d.x UND
c2.b.z<5000 UND
|c1.b.a.y-c2.b.a.y|<5000

Das ist mir zu abstrakt. Soweit ich das bis jetzt überblicken kann, würde das am ehesten eine Bibliothek modellieren:

Eine Bibliothek (Main) enthält eine Reihe(as) von Räumen(A). A enthält y als Raumnummer
Die Räume enthalten eine Anzahl(bs) von Regalen (B). B enthält z als Regalnummer.
In den Regalen stehen eine Anzahl (cs) Bücher (C).
Zu dem Buch gehört eine Auswahlkarte(D) , die eine Zahl x enthält, in diesem Fall die Anzahl der Ausleihen.

B enthält eine Variable a, die auf ein Objekt A zeigt.
C enthält eine Variable b, die auf ein Objekt B zeigt.
C enthält eine Variable d, die auf ein Objekt D zeigt.

Hier wird c doch gar nicht definiert.
 
X

Xyz1

Gast
@AndiE
Eine Bibliothek? :eek:
Es geht eigentlich um Planeten und Sterne....
Die letzte ( und zweitletzte ) Bedingung kann sogar entfallen , verringern das Ergebnis aber ungemein so dass es zu keinem Memory Overflow kommt....

Mir fallen 3 Lösungswege ein, bei denen es bei zwei aber sehr langsam sein wird....
Toll wäre sofort ein 'adaptiver' Algorithmus so dass ee auch für 3..bis..n Tupel mit paarweise gleichen Bedingungen gilt....
 

AndiE

Top Contributor
Ich suche ein Anzahl von Büchern die in verschiedenen Räumen in verschiedenen Regalen liegen ( Bedingung 1 und 2 auf mein Modell übertragen), für die die Anzahl der Ausleihen gleich ist (Bedingung 3). Ich finde das irgendwie komisch, weil ich üblicherweise bei mehreren Bedingungen davon ausgehe, dass sie die Suche immer mehr verfeinern. Wenn ich ein Buch von Raum 1 in Regal A betrachte, dann erfüllen alle Bücher in den Regalen B-Z der Räume 2-100, die ersten beiden Bedingungen. Sind nun nur 100 Bücher im Regal, dann suche ich für Bedingung 3 alle 260000 Bücher durch.

Es wäre da echt hilfreich zu wissen, was genau mit dem Modell gemeint ist.
 
X

Xyz1

Gast
Mmmh, also ihr möchtet ein Modell gefüllt mit sinnvollen Daten haben? Eeeh, also sinnvolle Daten für das Modell?
Das wären ca. 100 mb. :(

@AndiE : Das Klassend. wird so in KEINEM Bibliotheksbuch stehen , hier ist der Gehirngrips gefragt.... (falls Du das meintest damit)
<hr></hr>
Ich suche ein Anzahl von Büchern die in verschiedenen Räumen in verschiedenen Regalen liegen ( Bedingung 1 und 2
verbindung zwischen 2 Büchern , der Rest ist richtig

für die die Anzahl der Ausleihen gleich ist (Bedingung 3)
die ein gemeinsames Merkmal haben....

üblicherweise bei mehreren Bedingungen davon ausgehe, dass sie die Suche immer mehr verfeinern
greencheckmark , aber mindestens die Ergebnismenge wird kleiner....

Wenn ich ein Buch von Raum 1 in Regal A betrachte, dann erfüllen alle Bücher in den Regalen B-Z der Räume 2-100, die ersten beiden Bedingungen
stell Dir vor , z(b(c2))<5000 UND |y(a(b(c1)))-y(a(b(c2)))|<5000 wäre die max Entfernung in cm die ein Buch oder Regal zum nächsten "Metapunkt" entfernt liegt UND die Entfernung in cm in der zwei Regale oder Räume maximal auseinanderentfernt liegen dürfen....
<hr></hr>
Sind nun nur 100 Bücher im Regal, dann suche ich für Bedingung 3 alle 260000 Bücher durch.
hier sind meiner Meinung noch nicht alle Unklarheiten beseitigt.... :)
 
X

Xyz1

Gast
Durch die Kompositionassoziationen (mit den Anzahlangaben) ist das Modell doch noch nicht zu weit von der Wirklichkeit abstrahiert - und dadurch ist alles erklärt.
Außerdem habe ich Member s hinzugefügt, so dass eine Implementierung direkt möglich ist.
Statt Array s sind auch HashMap s erlaubt, wenn dadurch der Algorithmus schneller wäre.

Also wenn willst kannst loslegen.

UV1.png
 

mrBrown

Super-Moderator
Mitarbeiter
Durch die Kompositionassoziationen (mit den Anzahlangaben) ist das Modell doch noch nicht zu weit von der Wirklichkeit abstrahiert - und dadurch ist alles erklärt.
Du hast offensichtlich absolut nicht verstanden, wozu ein Modell dient...

Außerdem habe ich Member s hinzugefügt, so dass eine Implementierung direkt möglich ist.
Formal falsch. Entweder ist's ein Attribut, oder eine Assoziation. Die Pfeile zwischen A, B und C sind btw alle falsch, dort hast du keine gerichtete Beziehung.
 

mihe7

Top Contributor
Gesucht sind alle (c1,c2) aus cs ( ( und ) 2Tupel ), wobei b(c1)!=b(c2), a(b(c1))!=a(b(c2)), x(d(c1))==x(d(c2)), z(b(c2))<5000 UND |y(a(b(c1)))-y(a(b(c2)))|<5000.

Soweit ich das sehe, lässt sich jedem c eindeutig ein x-, y- und z-Wert zuordnen. Sieht man also mal von der Forderung nach unterschiedlichen Referenzen ab, erhält man für c1=(x1,y1,z1) und c2=(x2,y2,z2) doch z1 != z2, y1 != y2, x1 == x2, z2 < 5000 und Math.abs(y1 - y2) < 5000.

Man könnte die Cs z. B. nach x und y aufsteigend sortieren, dann einen Sweep durchführen:
1. s := erstes Element der aufsteigend sortierten Cs
2. c := das nächste Elemente der aufsteigend sortierten Cs
3. Falls c.x != s[0].x: s := empty
4. Falls c.z >= 5000: hinzufügen(s, c), weiter mit 2
5. bearbeite(s, c), weiter mit 2

hinzufügen(s, c):
1. füge c an s an
2. so lange Math.abs(s[0].z - c.z) >= 5000, entferne s[0] aus s

bearbeite(s, c2):
1. für jedes c1 aus s:
1.1. falls c1.z != c2.z && c1.y != c2.y && ... : gib (c1, c2) aus
2. hinzufügen(s, c2)
 
X

Xyz1

Gast
Die Pfeile zwischen A, B und C sind btw alle falsch, dort hast du keine gerichtete Beziehung.
Es gibt keine ungerichteten im KD....
Dass ich die Rückwärtsassoziationen weggelassen haben sollte es dir etwas einfacher machen zu lesen.

@mihe7 dankesehr :D
doch z1 != z2, y1 != y2, x1 == x2,[....]
Genau so ist es.
As und Bs müssen unterschiedlich sein....
(Jedes A hat aber eigene Bs , wiederholen sich nicht)
Wenn a(b1)!=a(b2) dann b1!=b2.

Dem Sweep muss ich erstmal verstehen....
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Tupel in eine SET einfügen Allgemeine Java-Themen 3
W Map / Tupel aus mehreren Elementen? Allgemeine Java-Themen 8
T Methoden Farbe auf Screenshot suchen Allgemeine Java-Themen 2
L 2 Dimensionale ListArray Abfrage nach einem Wert suchen Allgemeine Java-Themen 5
LimDul Suchen in Stringlisten Allgemeine Java-Themen 4
J Suchen von einer Scannereingabe in einem HashSet Allgemeine Java-Themen 1
ralfb1105 Blöcke aus Datei filtern/suchen und in neue Datei schreiben Allgemeine Java-Themen 10
K Bild in einem anderen Bild suchen Allgemeine Java-Themen 12
I Text suchen und ersetzen im Word Dokument Allgemeine Java-Themen 3
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
Meeresgott Erste Schritte Sourcetree - Git | Suchen eines Commits Allgemeine Java-Themen 2
C Zeilen-"Vektor" aus Excel-Tabelle suchen Allgemeine Java-Themen 0
I Muster in Array suchen Allgemeine Java-Themen 10
K Auf einer Website nach einem String suchen Allgemeine Java-Themen 5
thet1983 nach teilen eines Dateinamens suchen Allgemeine Java-Themen 6
W Arraylist Text Suchen und Datei löschen Allgemeine Java-Themen 5
M lucene suchen/löschen/hinzufügen Allgemeine Java-Themen 4
W Sortierte Listen - Methode suchen Allgemeine Java-Themen 17
Iron Monkey Mit Regex nach Beträge suchen Allgemeine Java-Themen 4
R In einem Byte-Array nach einer gewissen Zahlenfolge suchen Allgemeine Java-Themen 7
M Objekt aus Liste in Liste suchen/löschen Allgemeine Java-Themen 6
E nach dem Ordner suchen, wo .jar datei sich befindet Allgemeine Java-Themen 17
E Objekte in einer Liste suchen. Allgemeine Java-Themen 4
S Doppelte Werte in Listen,Vectoren etc suchen Allgemeine Java-Themen 2
S Nach Fehler und schlechtem Programmierstiel suchen: Allgemeine Java-Themen 5
V Über Java in einem Forum einloggen/ suchen? Allgemeine Java-Themen 10
M Suchen und Ersetzen? Allgemeine Java-Themen 4
G bestimmte Files suchen Allgemeine Java-Themen 2
ARadauer Fenster suchen und Verschieben Allgemeine Java-Themen 6
G Wort am Bildschirm -- Koordinaten suchen Allgemeine Java-Themen 2
M Sonderzeichen in String suchen Allgemeine Java-Themen 4
G Suchen und Ersetzen bei JTextAray Allgemeine Java-Themen 3
D in class-Dateien nach variablen suchen! Allgemeine Java-Themen 5
P JTable suchen in einer Spalte Allgemeine Java-Themen 24
N Methodenverwendung in Quelltext oder Class-Objekt suchen? Allgemeine Java-Themen 14
V String in String suchen mit Wildcard? Allgemeine Java-Themen 8
V Lib für Strings suchen und ersetzen (erweitert) Allgemeine Java-Themen 3
M String aus array mit Objekten suchen Allgemeine Java-Themen 26
G Nach Ordners suchen? Allgemeine Java-Themen 8
E in Pfad suchen Allgemeine Java-Themen 5
R Datum in *.txt suchen und ersetzen Allgemeine Java-Themen 2
C File suchen Allgemeine Java-Themen 3
D File suchen Allgemeine Java-Themen 4
C 5000-6000 Dateien nach Textblocken suchen Allgemeine Java-Themen 22
N Dateien mit einer bestimmten Erweiterung suchen Allgemeine Java-Themen 9
V Suchen in grosser Datei (100+ MB) Allgemeine Java-Themen 16
T Nach Programmen suchen Allgemeine Java-Themen 4
W nach String mit Doppelcharactern suchen Allgemeine Java-Themen 8
C Wie kann man im InputStream nach einer Zeichenkette suchen? Allgemeine Java-Themen 4
G in Jtree suchen Allgemeine Java-Themen 2
F mit getResourceAsStream () Datei im Classpath suchen Allgemeine Java-Themen 15
R Windows-XP-Suchfunktion: Nach Text in Java-Dateien suchen Allgemeine Java-Themen 9
M Dateien suchen und finden Allgemeine Java-Themen 6
N Suchen in InputStream/ByteArrayOutputStream Allgemeine Java-Themen 11

Ähnliche Java Themen


Oben