Algorithmus zum Zahlen einteilen

mantaplatte

Mitglied
Hallihallo,
ich hab eine zufällige Anzahl Zahlen, diese können auch zufällige Werte haben (0-1Mio).
Die Zahlen sollen nun eingeteilt werden.
Beispiel:
Gegebene Zahlen: 12, 15, 12460, 24890
Diese müssten jetzt in 3 "Gruppen" eingeteilt werden:
20, 15000, 25000
also Zahlen die nah zusammen sind sollen in eine Gruppe.
Das Aufrunden ist bereits programmiert.
Vielen Dank im Voraus, falls jemand eine Idee hat
icon_smile.gif
 

Joose

Top Contributor
Wie werden die Gruppen definiert? Nach welchen Schema wird aufgerundet? Auf die nächste Zehnerstelle?
Können es auch mehr als 3 Gruppen sein?
 

mantaplatte

Mitglied
Es wird immer auf die nächste 10er-Stelle aufgrundet richtig. Ja es können bis zu 20 Gruppen sein. Wie genau ist nicht vorgeschrieben, das ist auch eins meiner Probleme. Es sollen Zahlen die recht nah zusammen sind, zusammengefasst werden. Das kommt wiederrum darauf an, wie groß die Spanne zwischen größter und kleinster Zahl ist. Bei einem unterschied von 20 000 fallen die Gruppen deutlich größer aus, als bei einer Spanne von nur 100.

Im oben genannten Beispiel wären die Gruppen 0-20, 21-15000, 15001-25000.

Genauere Beschreibung: Es handelt sich um eine Legende einer Weltkarte. In jedem Land befinden sich verschieden viele Objekte (die Anzahl ist erst während der Laufzeit bekannt). Nun werden die Länder mit
wenigen Objekten heller gefärbt als die anderen. In der Legende wird gezeigt, wie die Anzahl der Objekte mit der Farbe "zusammenhängt" (sprich dunkelrot z.B. 10000 Objekte). Wenn es aber jetzt nur angenommen 3 Länder mit Objekten gibt und in einem sind 16, in dem nächsten 14506 und im letzten 150640. So muss ich jetzt nicht alle Werte zwischen 14506 und 150640 darstellen, sondern nur 3 Werte:
20 (16 gerundet), 15000(gerundet), 160000 (gerundet).

Gibt es jedoch 20 Länder mit Objekten, die alle zwischen 100 und 1000 liegen, müsste ich wieder mehr Werte darstellen.
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Hm so ganz sehe ich das Problem noch nicht.
Du hast eine Weltkarte mit bis zu 20 Ländern, in jedem dieser Länder können beliebig viele Objekte sein. (je weniger umso heller soll das Land "gemalt" werden)

Die Einteilung in Gruppen verstehe ich noch nicht. Wozu wird diese gebraucht? Was genau soll in Gruppen aufgeteilt werden? Du hast doch nur pro Land die Anzahl der Objekte -> somit max. 20 Zahlen
 

mantaplatte

Mitglied
Code:
Dim bereichsGroesse As Double = roundUp(anzahl.Max / anzahl.Count)
            bereichTemp = bereichsGroesse
            For i As Integer = 0 To anzahl.Count - 1
                For j As Integer = 0 To anzahl.Count - 1
                    If anzahl(j) > bereichsGroesse - bereichTemp And anzahl(j) < bereichsGroesse Then
                        colorizer.RangeStops.Add(bereichsGroesse)
                        farbePruefen.Add(bereichsGroesse)
                        j = anzahl.Count - 1
                    End If
                Next
                bereichsGroesse += bereichTemp
            Next
        End If
(VB kein Java)
Beispielwerte: 10, 600, 3000
Jetzt bekomme ich als Einteilung 340, 680, 3000
jedoch ist die 340 viel zu hoch und es müsste 20 angezeigt werden, das liegt daran, dass ich irgendwie die Schrittweite defnieren muss (bereichsGroesse) und ich weiß nicht, wie ich das anstellen soll.

Bei dem Beispielcode werden die Bereiche ausgelassen, in denen sich kein Wert befindet.
 

Meniskusschaden

Top Contributor
Gegebene Zahlen: 12, 15, 12460, 24890
Diese müssten jetzt in 3 "Gruppen" eingeteilt werden:
20, 15000, 25000
Warum sind gerade 20, 15000 und 25000 richtig und nicht beispielsweise 20, 13000, 25000 oder 50, 15000, 25000? Du scheinst da ja irgendwelche Kriterien zu haben, an denen du das fest machst.
Hm so ganz sehe ich das Problem noch nicht.
Du hast eine Weltkarte mit bis zu 20 Ländern, in jedem dieser Länder können beliebig viele Objekte sein. (je weniger umso heller soll das Land "gemalt" werden)

Die Einteilung in Gruppen verstehe ich noch nicht. Wozu wird diese gebraucht? Was genau soll in Gruppen aufgeteilt werden? Du hast doch nur pro Land die Anzahl der Objekte -> somit max. 20 Zahlen
Ich habe es etwas anders verstanden, nämlich dass es unbegrenzt viele Länder gibt, die in maximal 20 Gruppen eingeteilt werden sollen. Das Programm soll geeignete Gruppengrenzen ermitteln, wobei nicht näher definiert ist, welche Merkmale eine geeignete Gruppe auszeichnen. Aber vielleicht habe ich es auch falsch verstanden. Wäre nicht schlecht, wenn der TO das präzisiert.
Macht der VB-Code jetzt was du möchtest und muß nach Java übersetzt werden oder ist der VB-Code schon falsch?
 
Zuletzt bearbeitet:

Henne079

Aktives Mitglied
Wäre es eine Idee den kleinsten und größten Wert zu nehmen, die Differenz zu berechnen und diese in die gewünschte Anzahl an Gruppen einzuteilen. Die vorhandenen Werte müssen dann nur noch in die Gruppen abhänig der Differenz zu den Gruppen eingeteilt werden.

Allerdings kann es je nach vorhandenen Werten zu Gruppen mit vielen, kaum oder sogar keinen Wert geben.

Wenn eine gleichmäßige Verteilung gewünscht ist, müssten die Werte gleichmäßig in Gruppen verteilt werden und daraus kann man den Mittelwert berechnen um so einen Gruppenwert zu bekommen.
 

Hossiphi

Neues Mitglied
Hallöchen,

ich weiß nicht ob das zu trivial ist oder nicht die gewünschten Ergebnisse liefert aber hier was ich logisch fände:
1) Suche nach den größten Differenzen (hier würde ich einen Prozentualen Anteil der nächstniedrigeren Zahl zur nächsthöheren Zahl nehmen). Dadurch findest du n Lücken wodurch du n+1 Gruppen hast. Wenn es mehr Lücken als verfügbare Gruppen sind, dann musst du halt nur die ersten z Stück nehmen.

2) Lege dir einen Prozentsatz eps fest. Dieser wird jedes Mal auf die höchste Zahl einer Gruppe aufaddiert.

Somit bekommt man bei den Zahlen 1 , 1000, 1100, 11'000, 900'000 und eps = 10% und nem Anteil von 20% die Gruppen: 10 (du rundest ja auf 10er Stellen auf), 1210 und 12'100
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Codehinweise: Algorithmus Größenvergleich von n Zahlen Allgemeine Java-Themen 5
schegga_B AES-Algorithmus in javax.crypto Allgemeine Java-Themen 3
M Laufzeit des Prim Algorithmus Allgemeine Java-Themen 3
O Newton Algorithmus Java Allgemeine Java-Themen 1
CptK Backpropagation Algorithmus Allgemeine Java-Themen 6
N Google Authenticator Algorithmus (SHA1) Allgemeine Java-Themen 1
gotzi242 Schatzsuche mithilfe eines O(log n) Algorithmus Allgemeine Java-Themen 2
Zrebna Quicksort-Algorithmus - zufälliges Pivot wählen Allgemeine Java-Themen 6
L Klassen Algorithmus für das folgende Problem entwickeln? Allgemeine Java-Themen 30
B Algorithmus Warteschlange Ringpuffer wirklich fehlerfrei Allgemeine Java-Themen 8
M Probleme mit Negamax-Algorithmus Allgemeine Java-Themen 29
F Q - Learning Algorithmus Bug Allgemeine Java-Themen 4
M Salesman Problem - Bruteforce Algorithmus Allgemeine Java-Themen 23
M Minmax Algorithmus Verständnisproblem Allgemeine Java-Themen 2
H Rundreise frage (Algorithmus) Allgemeine Java-Themen 18
F KMP-Algorithmus Allgemeine Java-Themen 9
S Algorithmus welcher True-Werte in einem Array findet und auswertet. Allgemeine Java-Themen 5
U Methoden Algorithmus MergeSort String [ ] array sortieren programmieren Allgemeine Java-Themen 17
P MinMax Algorithmus Allgemeine Java-Themen 0
J Abhängigkeit zwischen Rechenzeit und Speicherbedarf in einen Algorithmus Allgemeine Java-Themen 7
K Djikstra-Algorithmus Allgemeine Java-Themen 1
T Minimax/Alphabeta Algorithmus hängt sich auf (?) Allgemeine Java-Themen 2
O Best Practice Hilfe bei Algorithmus gesucht Allgemeine Java-Themen 10
S Algorithmus um Objekte auf einer Flaeche mit gleichem Abstand anzuordnen..? Allgemeine Java-Themen 20
S Rucksackproblem und genetischer Algorithmus Allgemeine Java-Themen 9
L Abbruch des Algorithmus Allgemeine Java-Themen 8
D Input/Output Ausgleichen chemischer Reaktionsgleichungen mit dem Gauß-Algorithmus Allgemeine Java-Themen 2
Messoras A*-Algorithmus integrieren Allgemeine Java-Themen 3
S Buchscan 3D Dewarp Algorithmus - Ansätze Allgemeine Java-Themen 1
B Verteilungs-/Vergabe-Algorithmus mit abhängigen Score-Werten Allgemeine Java-Themen 3
Androbin "Shunting Yard"-Algorithmus Allgemeine Java-Themen 6
B Algorithmus - Project Euler Problem 18 Allgemeine Java-Themen 2
N Algorithmus zum bewerten von mathematischen Funktionen Allgemeine Java-Themen 11
O Algorithmus Optimierung Allgemeine Java-Themen 3
Joew0815 Algorithmus - Zahlenfolge in 4 ähnliche Teile aufteilen Allgemeine Java-Themen 0
O Tag Cloud Algorithmus Idee gesucht Allgemeine Java-Themen 2
A Implementierung eines Algorithmus (Farthest Insertion zur Lösung des TSP) in O(n²) Allgemeine Java-Themen 2
C Eclipse Probleme bei selbst erstelltem Algorithmus Allgemeine Java-Themen 2
H Graph-Algorithmus gesucht Allgemeine Java-Themen 21
N Algorithmus durch Workflow Allgemeine Java-Themen 7
M tree-based diff Algorithmus (Code-Vergleiche) Allgemeine Java-Themen 3
S Uhrzeit Algorithmus sale Allgemeine Java-Themen 11
N A*-Algorithmus Allgemeine Java-Themen 5
A Suche Algorithmus zum Erstellen eines planaren Graphen Allgemeine Java-Themen 5
F Methoden Algorithmus zur Gegnerfindung (Turnier) Allgemeine Java-Themen 9
T Algorithmus Graph Allgemeine Java-Themen 10
J Algorithmus gesucht (Stringtransformation) Allgemeine Java-Themen 4
B Algorithmus Krankenhausbelegung Allgemeine Java-Themen 17
S Algorithmus von Dijkstra Allgemeine Java-Themen 2
alex_fairytail OOP Banknoten Algorithmus Teil 2 Allgemeine Java-Themen 13
2 ArrayList aktualisieren Algorithmus Allgemeine Java-Themen 11
alex_fairytail Methoden Banknoten Algorithmus Allgemeine Java-Themen 10
SuperSeppel13 WTF?! Algorithmus-Geschwindigkeitstest Allgemeine Java-Themen 2
L Algorithmus für kürzesten Weg mit Wegpunkten Allgemeine Java-Themen 21
C Algorithmus Problem in Minesweeper Allgemeine Java-Themen 5
S Algorithmus um Labyrinth zu erzeugen Allgemeine Java-Themen 6
V Problem mit A* Pathfinder-Algorithmus Allgemeine Java-Themen 2
S Algorithmus um nächst folgende Primzahl zu berechnen Allgemeine Java-Themen 7
S Algorithmus Problem. Rechtecke effizient auf Spielfeld anordnen. Allgemeine Java-Themen 7
C Algorithmus-Hilfe Allgemeine Java-Themen 20
J Algorithmus Längenkombinationen? Allgemeine Java-Themen 7
M Kombinationen über rekursiven Algorithmus berechnen? Allgemeine Java-Themen 10
L Algorithmus für Poker-Hände Allgemeine Java-Themen 7
chik 2 return werte für Greedy-Algorithmus (gelöst) Allgemeine Java-Themen 3
D Abstruse Probleme mit eigenem replace Algorithmus Allgemeine Java-Themen 11
P RC4 Algorithmus Allgemeine Java-Themen 3
D RSA Verfahren - Erweiterter Euklidischer Algorithmus Allgemeine Java-Themen 4
C IBAN und Bic Validieren (Algorithmus) Allgemeine Java-Themen 10
P Problem mit A*-Algorithmus Allgemeine Java-Themen 12
M Wörter Algorithmus Allgemeine Java-Themen 7
M Algorithmus für automatische Zeilenumbrüche Allgemeine Java-Themen 12
K Postleitzahlen Algorithmus Allgemeine Java-Themen 12
G Problem mit Algorithmus Allgemeine Java-Themen 3
T Hilfe bei einem Algorithmus Allgemeine Java-Themen 2
S Stemming-Algorithmus gesucht (z.B. Porter) Allgemeine Java-Themen 2
RoliMG präfix zu infix algorithmus Allgemeine Java-Themen 6
Z A*-Algorithmus - Probleme mit offener/geschlossener Liste Allgemeine Java-Themen 7
S Javaimplementierung des MD5 Algorithmus Allgemeine Java-Themen 2
E Container-Pack-Algorithmus Allgemeine Java-Themen 4
G k nearest neighbor algorithmus Allgemeine Java-Themen 7
C HASH Algorithmus 2 Strings ergeben das Selbe. Allgemeine Java-Themen 2
P Page Rank Algorithmus implementieren Allgemeine Java-Themen 7
T Problem RSA-Algorithmus in Java? Allgemeine Java-Themen 2
minzel Hash-Algorithmus Allgemeine Java-Themen 9
Y komprimierung mittels Huffman-Algorithmus, bit-shifting. Allgemeine Java-Themen 2
K Algorithmus Allgemeine Java-Themen 10
C Algorithmus für Array Allgemeine Java-Themen 9
I Verschlüsselung mit Pwd. - User soll Algorithmus wählen Allgemeine Java-Themen 4
J fällt euch ein Algorithmus ein? Allgemeine Java-Themen 4
S Algorithmus für Sudoku Allgemeine Java-Themen 17
N Euklidischer Algorithmus in Java und keine Terminierung. Allgemeine Java-Themen 7
F Algorithmus für Sortierung gesucht Allgemeine Java-Themen 15
T Algorithmus verbessern Allgemeine Java-Themen 10
U Suche Algorithmus zur bestimmung des längsten Wegs Allgemeine Java-Themen 3
U Ford-Fulkerson Algorithmus gesucht Allgemeine Java-Themen 1
U Dijkstra Algorithmus gesucht Allgemeine Java-Themen 4
D Algorithmus für die Erkennung fehlerhafter Eingaben Allgemeine Java-Themen 4
I hash-algorithmus Allgemeine Java-Themen 9
berserkerdq2 Versteht jemand, was diese beiden Zahlen bei dem IJVM Code zu bedeuten haben? Allgemeine Java-Themen 10
L die 3 größten Zahlen im Array Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben