Methoden Formel besser implementieren

Shizmo

Aktives Mitglied
Hallo, ich versuche die Formel die im Anhang ist zu implementieren.
Das habe ich auch bereits gemacht, allerdings extrem ineffizient. Hat jemand eine Idee wie ich die doppelte-Schleife loswerde? Ideal wäre so effizient wie möglich, weights ist eine Hashmap, als Key ein Integer und Value ein Double (das Gewicht, zwischen 0 und 1) und x eine Integer-ArrayList.

Java:
private int length(List<Integer> x) {
    double totalWeight = sigma(x);
    double subWeight;

    for (int j = 1; j < x.size(); j++) {
      subWeight = 0;
      for (int i = 0; i < j; i++)
        subWeight = weights.containsKey(x.get(i)) ? weights.get(x.get(i)) : 1;

      if ((totalWeight - subWeight) / (totalWeight + subWeight) < threshold)
        return j;
    }
    return x.size();
  }

Java:
private double sigma(List<Integer> x) {
    double weight = 0;
    for (Integer t : x)
      weight += weights.containsKey(x) ? weights.get(x) : 1;

    return weight;
  }
 

Anhänge

  • wj.png
    wj.png
    14 KB · Aufrufe: 58

JCODA

Top Contributor
subWeight wird immer überschrieben. Sollte hier addiert werden?
Speichere die Teilsumme außerhalb der forschleife, so musst du innerhalb nur einen Wert addieren um die Überprüfung zu machen.
 

truesoul

Top Contributor
Hallo.

Diese Zeile stimmt so nicht :

Java:
weight += weights.containsKey(x) ? weights.get(x) : 1;

Da solltest du t verwenden anstatt x.
 
Zuletzt bearbeitet:

Shizmo

Aktives Mitglied
Danke für eure Tipps, ja das stimmt.
Aber kann man sich nicht irgendwie die Schleifen sparen? Eventuell mit einer Minimums-Funktion oder sonstiges?
 

JCODA

Top Contributor
Vielleicht so?
Java:
private int length(List<Integer> x) {
    double totalWeight = sigma(x);
    double subWeight = 0;

    for (int j = 1; j < x.size(); j++) {
      subWeight += weights.containsKey(x.get(j)) ? weights.get(x.get(j)) : 1;

      if ((totalWeight - subWeight) / (totalWeight + subWeight) < threshold){
        return j;
      }
    }
    return x.size();
  }
 

Shizmo

Aktives Mitglied
Vielen Dank, sollte passen oder? Da ich ja sowieso das kleinste j suche, muss ich ja nicht alle durchprobieren (wie vorher), richtig? Ich hab die Formel vorher falsch verstanden, ich dachte ich brauch den kleinsten Wert und von diesem dann das j. Aber richtig ist das kleinste j für einen Wert < t, stimmts? Oder habe ich mich jetzt selbst verwirrt?
 

Shizmo

Aktives Mitglied
Hmm nein, ich glaub das stimmt doch nicht, so wie ich das geschrieben habe wäre es ja das kleinste i, ich suche aber das kleinste j und das kann ja von 0 bis x.size()-1 sein und dann muss man schon alles durchgehen oder?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
moini Formel zur Abgleichung von Positionskoordinaten? Java Basics - Anfänger-Themen 8
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
L mit Fakultät mathematische Formel berechnen Java Basics - Anfänger-Themen 5
R Umsetzung von Formel Java Basics - Anfänger-Themen 2
C Boolesche Formel, Belegungen bestimmen Java Basics - Anfänger-Themen 8
V Wachstum berechnen und in Ist-Formel verwenden Java Basics - Anfänger-Themen 5
P Input/Output PQ-Formel wird nicht richtig berechnet Java Basics - Anfänger-Themen 6
D Klassen PQ- Formel Java Basics - Anfänger-Themen 4
Hanschyo Formel für n-Eck Java Basics - Anfänger-Themen 3
B Formel in Java implementieren Java Basics - Anfänger-Themen 4
B Wie sieht die Formel für eine Rechtecksschwingung aus? Java Basics - Anfänger-Themen 5
L Formel Kunden Pro Stunde Java Basics - Anfänger-Themen 5
B PQ Formel, wo steckt der Fehler? Java Basics - Anfänger-Themen 2
C Herleiten der expliziten Formel aus der Rekursionsformel Java Basics - Anfänger-Themen 3
P pixel formel versetztes Schachbrettmuster Java Basics - Anfänger-Themen 2
D Wochentag für eingegebenes Datum bestimmen anhand von Formel Java Basics - Anfänger-Themen 2
S Klassen Formel zur Berechnung .... Bitte um Hilfe Java Basics - Anfänger-Themen 7
R jCombox Werte in Formel übernehmen Java Basics - Anfänger-Themen 4
OnDemand Gaußsche Formel mit FOR-Schleife Java Basics - Anfänger-Themen 4
J Eingabe als Formel deuten Java Basics - Anfänger-Themen 7
E BigDecimal PQ Formel Java Basics - Anfänger-Themen 16
S Herleitung explizite Formel und Rekursionsformel Java Basics - Anfänger-Themen 15
V p-q Formel Java Basics - Anfänger-Themen 5
A Formel Problem Java Basics - Anfänger-Themen 12
R POI HSSF liesst in Excel Formel statt Ergebnis Java Basics - Anfänger-Themen 4
C Intelligentes Erstellen von Formel mit unbekannter Variable Java Basics - Anfänger-Themen 37
D p q formel gibt zum Teil falsche Werte aus Java Basics - Anfänger-Themen 5
S Datentypen Operatoren und Ausdrücke (formel richtig rechnen) Java Basics - Anfänger-Themen 8
S Formel zur invertierung einer Zahl Java Basics - Anfänger-Themen 8
D Formel von Binet Java Basics - Anfänger-Themen 6
B Formel aus Datei einlesen und benutzen Java Basics - Anfänger-Themen 3
G Formel ändern Java Basics - Anfänger-Themen 2
A Formel 1 Statistik Programm Java Basics - Anfänger-Themen 2
C simples Formel programm Java Basics - Anfänger-Themen 5
G jxl formel wird nicht erkannt. Java Basics - Anfänger-Themen 2
D Problem bei einer Formel (Bin Java Neuling) Java Basics - Anfänger-Themen 3
Q Formel für Wahrscheinlichkeit in Java Java Basics - Anfänger-Themen 2
7 Formel für Apfelschiessen funktioniert nicht richtig Java Basics - Anfänger-Themen 7
B Formel in der for-schleife Java Basics - Anfänger-Themen 5
M Funktion/Formel in String Java Basics - Anfänger-Themen 5
D Formel zum umrechnen in java o_O Java Basics - Anfänger-Themen 9
F pq Formel Java Basics - Anfänger-Themen 7
B Formel in Textfeld ausrechnen Java Basics - Anfänger-Themen 5
A Formel "transportieren" Java Basics - Anfänger-Themen 4
O mathematische Formel in quellcode Java Basics - Anfänger-Themen 5
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
S Was ist "besser"? Java Basics - Anfänger-Themen 5
R Uebersichtlicher bzw. besser Programmieren Java Basics - Anfänger-Themen 13
J Texte für Java Programmierung besser verstehen? Java Basics - Anfänger-Themen 2
S Code richtig / besser machbar? (Nicht sicher, ob Code selbst falsch ist) Java Basics - Anfänger-Themen 4
B Ist MyFrame oder JFrame besser? Java Basics - Anfänger-Themen 3
O Java und JSF besser verstehen Java Basics - Anfänger-Themen 1
M Komplexe Datenauswertungen in Java oder besser auf Datenbankseite ausführen? Java Basics - Anfänger-Themen 4
I Wie diesen Code besser schreiben? (Zeitformate) Java Basics - Anfänger-Themen 2
0 OOP Attributwerte besser im Konstruktor oder vorher zuweisen? Java Basics - Anfänger-Themen 6
A Besser Programmieren Java Basics - Anfänger-Themen 15
L Wo anfangen um besser zu werden Java Basics - Anfänger-Themen 13
L Erste Schritte Sollte ich hier lieber Cases verwenden oder wäre eine If-Bedingung besser? Java Basics - Anfänger-Themen 6
A HashSet (oder besser geignetes) Java Basics - Anfänger-Themen 14
O String-Prüfung: Was ist besser/schneller? Java Basics - Anfänger-Themen 15
O Grundsätzliches: Besser extend oder instanziieren? Java Basics - Anfänger-Themen 4
S OOP Java Kommentare, Programm besser verstehen Java Basics - Anfänger-Themen 6
C Soundwiedergabe in einem Thread - Speicher besser bereinigen Java Basics - Anfänger-Themen 3
A Besser als instanceof Java Basics - Anfänger-Themen 6
H Serialization: Was ist besser(schneller) Binary <-> XM Java Basics - Anfänger-Themen 2
X besser als System.arraycopy(.) Java Basics - Anfänger-Themen 5
G Was würdet ihr besser/anders machen? Java Basics - Anfänger-Themen 9
M Welche Schleife ist besser? Java Basics - Anfänger-Themen 6
H ActionListener - was ist besser. Java Basics - Anfänger-Themen 7
M wie kann man diese Funktion besser machen ? Java Basics - Anfänger-Themen 3
G konkretes beispiel: interface hier besser als abstrakte kl. Java Basics - Anfänger-Themen 4
G String-Vergleich: Was ist besser "equals()" oder & Java Basics - Anfänger-Themen 4
megachucky Was kann ich besser / sinnvoller machen bei meinem code Java Basics - Anfänger-Themen 7
Maxq Klassen Actionen in Button implementieren Java Basics - Anfänger-Themen 6
A LinkedList implementieren Java Basics - Anfänger-Themen 32
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
new_to_coding Rekursive Reihe implementieren Java Basics - Anfänger-Themen 1
HolyFUT Javax Websocket API implementieren Java Basics - Anfänger-Themen 14
J Interface Interface korrekt implementieren Java Basics - Anfänger-Themen 5
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
P9cman Ampel in Java implementieren Java Basics - Anfänger-Themen 3
districon Generics implementieren Java Basics - Anfänger-Themen 2
W UML Diagramm implementieren Java Basics - Anfänger-Themen 2
tony241188 Implementieren Sie die Klasse Hersteller, welche die folgenden Elektrogeräte produziert Java Basics - Anfänger-Themen 3
R Taxistand Implementieren Java Basics - Anfänger-Themen 1
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
Gaudimagspam BMI in Java implementieren Java Basics - Anfänger-Themen 38
T Methode implementieren Java Basics - Anfänger-Themen 21
R Implementieren einer iterativen und rekursiven Klassenmethode. Java Basics - Anfänger-Themen 1
L Methode implementieren, Parameter die übergeben werden sind final Java Basics - Anfänger-Themen 4
J alternierendes Probing-Verfahren für Hash-Tabellen implementieren Java Basics - Anfänger-Themen 0
B UML-Klassendiagram get und set implementieren Java Basics - Anfänger-Themen 2
M Implementieren einer Datenstruktur, welche nur 5 Objekte speichert Java Basics - Anfänger-Themen 3
U Hashmap Iterator selbst implementieren Java Basics - Anfänger-Themen 10
E Klassen implementieren Java Basics - Anfänger-Themen 94
S Tokenizer selbst implementieren Java Basics - Anfänger-Themen 1
C Telefonliste mit interface implementieren Java Basics - Anfänger-Themen 30
L Klassen Kann eine Unterklasse einer abstrakten Klasse ein Interface implementieren? Java Basics - Anfänger-Themen 2
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
M WindowStateListener selbst implementieren Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben