Algorithmen zur Suche von Daten in C++ (Merkmale und Vergleich Speicher- Zeitverhalten)



  • Hi Leutchens,

    F1, ich suche viele Infos über das Speicher- Zeitverhalten von Algorithmen zur Suche von Daten in C++!
    Ich bräuchte auch Infos über die Suche von Textmustern!!!!
    Sagt bitte nicht ich soll im Netz schauen, denn da finde ich nicht viel was ich gebrauchen könnte!!!!
    Vielen Dank!!!!! 🙂



  • Wenn du unter dem Stichwort C++ suchst, wirst du sogut wie nichts finden. Algorithmen sind nicht abhängig von einer Programmiersprache. Daher versucht man sie auch unabhängig von einer Programmiersprache zu beschreiben. Bei den Implementierungs-Beispielen verwendet man natürlich eine Programmiersprache aber da gehts meist ums Verstehen und nicht um möglichst optimierten Code.



  • Wenn du englisch kannst, dann schau mal z. Bsp. hier.



  • Wenn du wirklich Hardcore-Fakten haben willst:
    The Art of Computer Programming: Sorting and searching | ISBN: 0201896850
    Bitte schön.



  • wulvpak schrieb:

    F1, ich suche viele Infos über das Speicher- Zeitverhalten von Algorithmen zur Suche von Daten in C++!
    Ich bräuchte auch Infos über die Suche von Textmustern!!!!

    Kannst Du vielleicht ein bißchen genauer sagen, was Du brauchst? "Datensuche" ist ein bißchen sehr allgemein.



  • Ich meine genauer: wenn man aus einem array die größte zahl suchen möchte!!!!
    Oder: ich habe eine reihe von Namen und ich suche den Namen mit dem Buchstaben der im Alphabet als erstes kommt, um daraus dann diese Namen zu sortieren!(auch wenn das sortieren wieder anders geht) ➡ darum geht es ja nicht.
    Während dieser Vorgehensweise möchte ich wissen wie es im Speicher aussieht und wie das Zeitverhalten ist.
    Danke für eure Bemühungen!!!!!

    PS: mein Englisch ist nicht gerade seh gut, aber es reicht umzu programmieren 🙂 👍



  • wulvpak schrieb:

    Ich meine genauer: wenn man aus einem array die größte zahl suchen möchte!!!!

    zeit: O(n).
    beweis:
    a) O(n) reicht aus

    double findeMax(double* array,int size){
       double max=array[0];
       for(int i=1;i<size;++i)
          if(array[i]>max)
             max=array[i];
       return max;
    }
    

    b) O(n) ist notwendig, weil jedes element angeguckt werden muß.

    speicher: O(1).
    beweis: code von oben und O(1) ist notwendig.


Log in to reply