Zufällige Übereinstimmungen in 2 Arrays

lennero

Bekanntes Mitglied
Hallo
Folgende Aufgabe habe ich in einem Lehrbuch für Algorithmen gefunden.

Write a Binary Search method that takes an int value T as command-line argument and runs T trials of the following experiment for N=10^3,10^4,10^5, and 10^6 : generate two arrays of N randomly generated positive six-digit int values. Find the number of values that appear in both arrays. Print a table giving the average value of this quantity over the T trials for each value of N.

Soweit ich das Verstanden habe, sollen vier Versuche gestartet werden (für N = 10^3, 10^4 ... usw) wobei zwei Arrays mit N 6-stelligen Zufallszahlen gefüllt werden. Anschließend soll geprüft werden, wieviele der Elemente in Array A in Array B vorhanden sind. Das ganze soll für jeden Wert für N, T mal gemacht werden.

Das bedeutet ich soll T mal jeweils 1 000, 10 000 100 000 und 1 000 000 Zufallszahlen zwischen 100 000 und 999 999 in zwei Arrays speichern, und dabei zählen, wieviele Werte in Array A in Array B vorhanden sind und daraus dann den Durchschnitt berechnen.

Java:
public static void binSearchTrials(int t)
    {
        System.out.println("Number of Trials: " + t + "\n");
        //start with n = i random numbers;
        for(int i = 1000; i <= Math.pow(10, 6); i *= 10)
        {
            int[] a = new int[i];
            int[] b = new int[i];

            double[] sumsAfterTrial = new double[t];

            //start with trial number = j + 1;
            for(int j = 0; j < t; j++)
            {
                double sum = 0.0;

                //fill the arrays with n 6 digit random numbers
                for(int k = 0; k < i; k++)
                {
                    a[k] = StdRandom.uniform(100000, 1000000);
                    b[k] = StdRandom.uniform(100000, 1000000);
                }
                
                Arrays.sort(b);
                
                for(int l = 0; l < a.length; l++)
                {
                    //binarySearch returns -1 if key can't be found in array
                    if(binarySearch(a[l], b) > 0)
                    {
                        sum++;
                    }
                }

                sumsAfterTrial[j] = sum;
            }

            double sumOfAverages = 0.0;
            for(int k = 0; k < t; k++)
            {
                sumOfAverages += sumsAfterTrial[k];
            }
            
            System.out.println("N: " + i + " Average of matching numbers: " + sumOfAverages / t  + "\n");
        }
    }

Für einen Testlauf mit t = 1 habe ich folgende Ausgabe in der Konsole:

Number of Trials: 1

N: 1000 Average of matching numbers: 1.0

N: 10000 Average of matching numbers: 61.0

N: 100000 Average of matching numbers: 7112.0

N: 1000000 Average of matching numbers: 496953.0

Hab ich irgendwo einen Denkfehler gemacht? Sind das realistische Werte?
 

mihe7

Top Contributor
Soweit ich das Verstanden habe, sollen vier Versuche gestartet werden (für N = 10^3, 10^4 ... usw) wobei zwei Arrays mit N 6-stelligen Zufallszahlen gefüllt werden. Anschließend soll geprüft werden, wieviele der Elemente in Array A in Array B vorhanden sind. Das ganze soll für jeden Wert für N, T mal gemacht werden.
Ich hätte das so verstanden, dass Du für jedes N zwei Arrays mit jeweils N 6-stelligen Zufallszahlen erzeugen sollst und die Anzahl der Elemente ermitteln sollst, die in beiden Arrays vorkommen. Das sollst Du für jedes N nicht nur einmal sondern T-mal machen und daraus den Durchschnitt ermitteln.
 

lennero

Bekanntes Mitglied
Ich hätte das so verstanden, dass Du für jedes N zwei Arrays mit jeweils N 6-stelligen Zufallszahlen erzeugen sollst und die Anzahl der Elemente ermitteln sollst, die in beiden Arrays vorkommen. Das sollst Du für jedes N nicht nur einmal sondern T-mal machen und daraus den Durchschnitt ermitteln.

Ok, genau das meinte ich auch, hab mich da wohl falsch ausgedrückt, aber das macht der Code oben ja auch oder nicht?

Für n = 1000 ist es für mich logisch dass wenn überhaupt nur 1 Wert gefunden wird. Bei n = 1 000 000 kommt mir das allerdings etwas zu hoch vor.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
J Zufällige Spielerreihenfolge Java Basics - Anfänger-Themen 6
S Zufällige ungerade Zeile aus Text-Datei lesen Java Basics - Anfänger-Themen 5
D Zufällige Auswahl aus einem angelegten Array? Java Basics - Anfänger-Themen 10
C Werte im Vector in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 14
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
T Zufällige Matrix in neue Matrix schreiben Java Basics - Anfänger-Themen 6
W Wie kann man zufällige Anordnungen machen? Java Basics - Anfänger-Themen 1
J Zufällige Buchstaben Java Basics - Anfänger-Themen 45
F zufällige Zahlenfolge Java Basics - Anfänger-Themen 8
J Buchstabe (char) an zufällige Position eines Strings einfügen Java Basics - Anfänger-Themen 1
E Erste Schritte Memorie zufällige Pärchen mischen Java Basics - Anfänger-Themen 6
J Zufällige Bewegung Java Basics - Anfänger-Themen 25
R Zufällige Abfolge Java Basics - Anfänger-Themen 5
E Variablen Zufällige Boolschevariable erzeugen Java Basics - Anfänger-Themen 4
K Zufällige Auswahl innerhalb eines Arrays und Arrays aus JLabel füllen Java Basics - Anfänger-Themen 32
F Datentypen Zufällige Buchstaben vertauschen Java Basics - Anfänger-Themen 3
B Zufällige Zahlen in Array sortieren Java Basics - Anfänger-Themen 18
B "Zufällige" Newlines in Process.getErrorStream Java Basics - Anfänger-Themen 5
M Zufällige Position Java Basics - Anfänger-Themen 3
B zwei zufällige elemente aus array lesen und überprüfen Java Basics - Anfänger-Themen 8
TheKing Zufällige Plattformen Java Basics - Anfänger-Themen 5
M zufällige auswahl eines Panels aus Grid Layout Java Basics - Anfänger-Themen 3
G Zufällige Zahlen Java Basics - Anfänger-Themen 13
S Zufällige Farbe Java Basics - Anfänger-Themen 5
G zufällige zahlen von x bis y generieren Java Basics - Anfänger-Themen 5
H Aus 5 Zahlen eine zufällige Kombination erzeugen,ohne doppel Java Basics - Anfänger-Themen 2
B Memory - Zufällige Anordnung von Buchstabenpaaren Java Basics - Anfänger-Themen 8
G Zufällige Buchstaben in char-Array Java Basics - Anfänger-Themen 9
M Zufällige Zeile aus einer Datei lesen Java Basics - Anfänger-Themen 2
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste und Arrays Java Basics - Anfänger-Themen 12
N mehrdimensionale arrays Java Basics - Anfänger-Themen 12
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
M Problem bei verschachtelter for-Schleife bei zweidimensionalen Arrays Java Basics - Anfänger-Themen 3
J Mehrdimensionale Arrays Java Basics - Anfänger-Themen 2
pc pc pc pc pc letztes Element eines Arrays n Java Basics - Anfänger-Themen 3
M Arrays Java Basics - Anfänger-Themen 3
Ostkreuz Wert von Arrays summieren Java Basics - Anfänger-Themen 1
Ostkreuz Summieren von Arrays Java Basics - Anfänger-Themen 4
javaBoon86 Arrays 2 Dimension Werte ausgeben Java Basics - Anfänger-Themen 15
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
B bei 2 Arrays Anzahl gleicher Elemente vergleichen? Java Basics - Anfänger-Themen 49
JustAProgrammer Ein Dreieck mit Arrays erstellen Java Basics - Anfänger-Themen 2
TheSepp Nur Arrays ausgeben, die Werte zugewiesen haben. Java Basics - Anfänger-Themen 4
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
ArrayList mit unbekannter Menge an Arrays die Arrays vergleichen Java Basics - Anfänger-Themen 9
D Arrays an replaceAll-Methode übergeben Java Basics - Anfänger-Themen 12
rosima26 Geordnete Arrays ausgeben Java Basics - Anfänger-Themen 31
D Inhalt eines Arrays ausgeben Java Basics - Anfänger-Themen 7
A Jedes zweite Element eines Arrays entfernen Java Basics - Anfänger-Themen 30
C Zwei Arrays addieren und ausgeben Java Basics - Anfänger-Themen 3
E Zinsrechnung mithilfe von Arrays Java Basics - Anfänger-Themen 12
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
H Arrays: Größten Zahlen Unterschied herausfinden Java Basics - Anfänger-Themen 20
H Arrays befüllen Java Basics - Anfänger-Themen 43
C60 Methoden Main-Methode erkennt meine Arrays nicht. Java Basics - Anfänger-Themen 7
D Arrays Java Basics - Anfänger-Themen 9
C Java Arrays - Ausgabe in Methode Java Basics - Anfänger-Themen 12
R While-Loop der die Einträge eines Arrays in umgekehrter Reihenfolge anzeigt Java Basics - Anfänger-Themen 3
N Arrays Java Basics - Anfänger-Themen 5
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
U zwei 2D arrays auf gleich sein überprüfen Java Basics - Anfänger-Themen 14
melaniemueller Lagerverwaltung erstellen - mehrdimensionale Arrays Java Basics - Anfänger-Themen 62
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
A Arrays aufsummieren Java Basics - Anfänger-Themen 11
C Wie 2 Arrays zusammenfügen und sortieren? Java Basics - Anfänger-Themen 11
S Arrays aneinanderketten Java Basics - Anfänger-Themen 20
Sinan Arrays auflisten ohne Wiederholung Java Basics - Anfänger-Themen 28
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
R Werte und Reihenfolge in 2d Arrays vergleichen Java Basics - Anfänger-Themen 5
D Verschlüsslungsaufgabe / Arrays Java Basics - Anfänger-Themen 6
L Methode für Zweidimensionale Arrays Java Basics - Anfänger-Themen 4
L Methode zum invertieren eines Arrays Java Basics - Anfänger-Themen 7
S zweidimensionale char arrays Java Basics - Anfänger-Themen 14
J Methoden Mehrdimensionale Arrays übereinander legen Java Basics - Anfänger-Themen 5
D Verwirrung bei Streams aus primitiven Arrays Java Basics - Anfänger-Themen 2
P Arrays mit verschiedenen Längen miteinander dividieren. Java Basics - Anfänger-Themen 1
P Wie kann ich die Zahlen dieses Arrays dividieren? Java Basics - Anfänger-Themen 2
N 2D Arrays jedes xy vergleichen Java Basics - Anfänger-Themen 7
J Traveling Salesman Problem [Arrays] Java Basics - Anfänger-Themen 9
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
Kawastori Größe eines Arrays bestimmen Java Basics - Anfänger-Themen 13
Zeppi Arrays[i] Java Basics - Anfänger-Themen 7
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
J B-Sprache mit Arrays ausführen Java Basics - Anfänger-Themen 18
A Teilarrays eines 2D-Arrays sortieren Java Basics - Anfänger-Themen 4
C Arrays - deklarieren, initialisieren? Ist das ein Objekt? Java Basics - Anfänger-Themen 3
K Sudoku mit 2D Arrays Java Basics - Anfänger-Themen 19
T Vertikales Histogramm mit Arrays Java Basics - Anfänger-Themen 3
JD_1998 Arrays einlesen, zwischenspeichern und wieder ausgeben Java Basics - Anfänger-Themen 8
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
F Arrays: Mathematische Funktion Java Basics - Anfänger-Themen 19
mihe7 Von Datentypen und (mehrdimensionalen) Arrays Java Basics - Anfänger-Themen 4
A Teilen eines Arrays Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben