Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Softwaretechnik » Implemtierung Algorithmus » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Implemtierung Algorithmus
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Der_Fichtenelch
unregistriert
Implemtierung Algorithmus Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hallo zusammen,

folgende Aufgabe:

Gegeben sei eine Folge ganzer Zahlen, deren Werte in dem fest gewählten Bereich {1,?.,N} liegen. Dabei sei n sehr viel größer als N. Es soll ermittelt werden, welche Zahl in der Folge am häufigsten vorkommt. Falls mehrere solche Zahlen existieren, soll eine beliebige davon ausgewählt werden. Finden Sie einen geeigneten Algorithmus zur Lösung des Problems und implementieren Sie diesen in Java. Geben Sie die Komplexität an.

Meine Ideen:
Ehrlich gesagt fehlt mir der Ansatz für eine Lösung.

Vielen Dank für etwailige Ansätze.
06.02.2016 15:16
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Erstelle ein Array der Größe N. Dort speicherst du, welche Zahl (=Index) wie oft (=wert an Index) vorkommt.
Iteriere dann über das Array und erhöhe den passenden Eintrag.

__________________
Syntax Highlighting fürs Board (Link)
06.02.2016 15:20 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Der_Fichtenelch
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke für die schnelle Antwort.

Hab hier mal etwas zusammengeschrieben, meintest du das?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
package übung4_aufgabe1;

public class Übung4_Aufgabe1 
{
    public static void main(String[] args) 
    {
        int [] zahlen = {1,2,3,1,1}; 
        int N = 20; 
        int [] array = new int [N];
        
        for (int i=0;i<array.length;i++)
        {
            switch (zahlen[i])
            {
                case 1: 
                    array[0]+=1;
                    break; 
                //Hier folgen noch weitere Cases; 
            }
        }
    }
}
06.02.2016 15:29
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Im Prinzip ja, aber nicht mit switch-case.
Eher so: array[zahlen[i]]++;

Und natürlich musst du bis zahlen.length gehen, nicht array.length

__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 06.02.2016 15:32.

06.02.2016 15:32 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Der_Fichtenelch
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke für die Hilfe.
06.02.2016 15:38
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Softwaretechnik » Implemtierung Algorithmus