Suche gutes Buch zu Algorithmen



  • Hallo!

    Ich versuche nun seit Tagen einen eigenen Sortieralgorithmus zu erstellen, leider waren alle Versuche und alle Techniken erfolglos (bin irwie zu blöd dafür 🙄). Nun hab ich mich entschlossen, mich mehr mit Algorithmen zu beschäftugen und möchte C weiterhin auf parallele Weise lernen.
    Ich suche nun ein Buch, das leicht verständlich und ohne viel Fachbegriffe einen Algorithmus erklärt bzw. in die Algorithmische(n) Denkweise/Grundlagen einführt.
    Quasi für ein 0815-Mensch, der die Sekundarstufe I einigermaßen erfolgreich bestanden hat 🤡.

    => Keine Sekundarstufe II Kenntnisse erforderlich

    Vielen Dank!

    Gruß
    agi 🙂



  • Hallo!

    Aus der Wikipedia:

    Unter einem Algorithmus (auch Lösungsverfahren) versteht man eine genau definierte Handlungsvorschrift zur Lösung eines Problems oder einer bestimmten Art von Problemen in endlich vielen Schritten.

    ...mehr ist ein Algorithmus ja nicht, die Denkweise musst du dann aus meiner Sicht am ehesten noch für das Problem haben, für das du einen Algorithmus formulieren willst. Es gibt zwar Bücher zu Algorithmen, aber die behandeln dann vermutlich mehr, als du wissen willst.

    Für einen Einstieg sollte Bubblesort reichen. Wenn du den verstanden hast, kannst du ihn auch sogleich in C implementieren und vllt. eine Optimierung finden, um die Laufzeit zu verringern. Dafür brauchst du auch keine Sekundarstufen-Kenntnisse oder was auch immer... 🙂

    Bei spezifischen Problemen kannst du ja auch jederzeit nochmal nachfragen.

    MfG,
    Algorithmiker



  • Algorithmiker schrieb:

    Wenn du den verstanden hast, kannst du ihn auch sogleich in C implementieren und vllt. eine Optimierung finden, um die Laufzeit zu verringern.

    Hätte nicht gedacht, dass das so schnell geht und so einfach zum implementiren ist 😃

    #include <stdio.h>
    #include <windows.h>
    
    int main()
    {
    	int array[5]={2,1,4,5,3};
      int a,b,i,j;
      int tmp;
    
    	for(i=0;i<=4;i++)
      {
      	a=i;
    
    		for(j=i+1;j<=4;j++)
        {
          b=j;
    
    			if(array[a]>array[b])
      		{
            tmp=array[b];
            array[b]=array[a];
            array[a]=tmp;
      		}
        }
      }
      printf("%d %d %d %d %d",array[0],array[1],array[2],array[3],array[4]);
    	printf("\n");
    	system("PAUSE"); return 0;
    }
    

    Vielen lieben Dank! 🙂

    Gruß
    agi 🙂

    PS: PRIEST und GNU-Fan eure gegebenen Aufgaben werde ich bald lösen können. 😉



  • Aja, hab deinen Thread mit GNU-Fan und PRIEST gefunden. Hier noch einige kleine Teilaufgaben von mir:

    1. Den Algorithmus in eine Funktion auslagern, damit du ihn einfach wiederverwenden kannst.
    2. Die Funktion so auslegen, dass das Eingabearray beliebig groß sein kann.



  • Ein sehr schönes Buch zum Einstieg in Algorithmik ist folgendes:

    Taschenbuch der Algorithmen | ISBN: 9783540763932

    Es geht nicht sonderlich tief rein, aber ist eine sehr nette Einführung, die keine großen Vorkenntnisse erfordert.


Anmelden zum Antworten