Buch über Algorithmen und Datenstrukturen



  • Stimmt es, daß Sedgewick keine Ahnung von C++ hat?

    Das hat zumindest jemand bei den Amazon Rezensionen behauptet.



  • Uta Ma schrieb:

    Stimmt es, daß Sedgewick keine Ahnung von C++ hat?

    Das hat zumindest jemand bei den Amazon Rezensionen behauptet.

    Die Algos sind so kurz und kompakt wie moeglich geschrieben. Die "Schoenheit" des Codes hat darunter natuerlch manchmal gelitten. Aber das Buch konzentriert sich ja auch auf Algorithmen und Datenstrukturen, nicht darauf, dir schoenen Code beizubrngen 😉



  • Uta Ma schrieb:

    Stimmt es, daß Sedgewick keine Ahnung von C++ hat?
    Das hat zumindest jemand bei den Amazon Rezensionen behauptet.

    Algos in C ist ein Supi Einsteigerbuch. Die Sachen sind einfach und praxisnah und überzeugend.
    Ich habe viele Algos in C++ oder Algos in Java und so Versuche durchgeblättert und jedesmal wurde mir schlecht. Völlig verpeilte Sicht der OO, zwanghaftes InKlassenReinstecken, Performancebremsen, Lächerlichkeit.



  • Uta Ma schrieb:

    Stimmt es, daß Sedgewick keine Ahnung von C++ hat?

    im originalwerk hat er pascal benutzt (das buch hiess nur 'algorithmen', ohne irgendwas dahinter). irgendwann später gabs das dann für alle möglichen sprachen, lässt sich wohl besser verkaufen, wenn man gezielt benutzer spezieller sprachen anspricht. die übersetzung von pascal in die anderen sprachen hat er bestimmt nicht selbst gemacht. also, ich würde vielleicht die pascal-version nehmen, pascal ist ja sehr leicht lesbar und algorithmen sind sowieso nicht sprachenabhängig.
    🙂



  • Sehr gut finde ich auch Introduction to Algorithms von Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, und Clifford Stein von The Mit Press.
    Das Buch geht nicht auf eine spezielle Programmiersprache ein, sondern erklärt die vorgehensweise der Algorithmen und Datenstrukturen anhand von Pseudocode, den jeder versteht, der ein bisschen C, C++ oder Java kann. Behandelt werden eigentlich alle wichtigen Sortier- und Suchalgorithmen, Listen, Heaps, Stacks, Queues etc.



  • ;fricky schrieb:

    Uta Ma schrieb:

    Stimmt es, daß Sedgewick keine Ahnung von C++ hat?

    im originalwerk hat er pascal benutzt (das buch hiess nur 'algorithmen', ohne irgendwas dahinter). irgendwann später gabs das dann für alle möglichen sprachen, lässt sich wohl besser verkaufen, wenn man gezielt benutzer spezieller sprachen anspricht. die übersetzung von pascal in die anderen sprachen hat er bestimmt nicht selbst gemacht. also, ich würde vielleicht die pascal-version nehmen, pascal ist ja sehr leicht lesbar und algorithmen sind sowieso nicht sprachenabhängig.
    🙂



  • volkard schrieb:

    stimmt das nicht? hat er 'algorithmen in C' vor 'algorithmen' rausgebracht?
    kann schon sein, dass ich mich getäuscht habe.
    🙂



  • ;fricky schrieb:

    volkard schrieb:

    stimmt das nicht? hat er 'algorithmen in C' vor 'algorithmen' rausgebracht?
    kann schon sein, dass ich mich getäuscht habe.
    🙂

    Das stimmt schon. Aber hättest Du mehr als ein paar Algorithmenbücher gelesen, wüßtest Du, daß es einen ganz erheblichen Unterschied machen kann, ob Arrays bei 0 oder bei 1 anfangen und daß es bei Algos mit Adressberechnungen, wie heapsort, manchmal gar nicht leicht ist, von Pascal-Pseudocode in C-Pseudocode zu übersetzen.



  • volkard schrieb:

    ... wüßtest Du, daß es einen ganz erheblichen Unterschied machen kann, ob Arrays bei 0 oder bei 1 anfangen und daß es bei Algos mit Adressberechnungen, wie heapsort, manchmal gar nicht leicht ist, von Pascal-Pseudocode in C-Pseudocode zu übersetzen.

    nee, der unterschied ist völlig unbedeutend. bei algorithmenbüchern und pseudocode geht's darum, dass möglichst viele verstehen wie und warum etwas funktioniert (dazu ist pascal gut geeignet, das liest sich ganz leicht) und dann können sie's auch in ihrer lieblingssprache nachprogrammieren. du sollst ja nicht pascal zeile-für-zeile doof in C verwandeln und hoffen, dass es läuft. *fg*
    🙂



  • ;fricky schrieb:

    volkard schrieb:

    ... wüßtest Du, daß es einen ganz erheblichen Unterschied machen kann, ob Arrays bei 0 oder bei 1 anfangen und daß es bei Algos mit Adressberechnungen, wie heapsort, manchmal gar nicht leicht ist, von Pascal-Pseudocode in C-Pseudocode zu übersetzen.

    nee, der unterschied ist völlig unbedeutend. bei algorithmenbüchern und pseudocode geht's darum, dass möglichst viele verstehen wie und warum etwas funktioniert (dazu ist pascal gut geeignet, das liest sich ganz leicht) und dann können sie's auch in ihrer lieblingssprache nachprogrammieren. du sollst ja nicht pascal zeile-für-zeile doof in C verwandeln und hoffen, dass es läuft. *fg*
    🙂



  • volkard schrieb:

    du willst damit sagen, dass du's anders siehst, richtig?
    🙂



  • ;fricky schrieb:

    volkard schrieb:

    du willst damit sagen, dass du's anders siehst, richtig?
    🙂

    Deine Empfehlung, das älteste Buch zu nehmen, war Quark. Da wird für Barbarossa nur eine unnütze Hürde mehr aufgewofen. Pseudocode darf man auch mal übernehmen, ohne ihn neu zu erfinden. Sowas wie http://www.cc.gatech.edu/classes/cs3158_98_fall/heapsort.html bettelt doch darum. Das Problem ist, daß oft nichtmal klar ist, ob das Array bei 0 oder 1 beginnt. Es reicht manchmal nicht, nur den Wikipedia-Artikel über den Autor zu lesen, um sinnvoll mitreden zu können.



  • volkard schrieb:

    Deine Empfehlung, das älteste Buch zu nehmen, war Quark. Da wird für Barbarossa nur eine unnütze Hürde mehr aufgewofen. Pseudocode darf man auch mal übernehmen, ohne ihn neu zu erfinden.

    es ging um angeblich schlechte übersetzung des pascal-codes nach c++, worüber sich jemand beschwert hat. blätter mal zurück.

    volkard schrieb:

    Das Problem ist, daß oft nichtmal klar ist, ob das Array bei 0 oder 1 beginnt.

    erstes element eines arrays ist immer erstes element, egal in welcher programmiersprache.
    🙂



  • ;fricky schrieb:

    volkard schrieb:

    Das Problem ist, daß oft nichtmal klar ist, ob das Array bei 0 oder 1 beginnt.

    erstes element eines arrays ist immer erstes element, egal in welcher programmiersprache.
    🙂

    Du Dämel hast den Link nichmal angeklickt.



  • ;fricky schrieb:

    es ging um angeblich schlechte übersetzung des pascal-codes nach c++, worüber sich jemand beschwert hat. blätter mal zurück.

    Direkt unter meinem "Algos in C ist supi" kommt Dein "Nee, nimm Algos (in Pascal)". Blätter mal zurück.



  • volkard schrieb:

    Direkt unter meinem "Algos in C ist supi" kommt Dein "Nee, nimm Algos (in Pascal)". Blätter mal zurück.

    ich schrieb: 'nimm die version, die nur algorithmen heisst' (weil er da keine übersetzungsfehler zwischen zwei programmiersprachen befürchten muss). ausserdem bezog sich mein posting auf das von 'Uta Ma' (siehe zitat). kann ich ahnen, dass du unter verfolgungswahn leidest? *fg*
    🙂



  • ;fricky schrieb:

    kann ich ahnen, dass du unter verfolgungswahn leidest?

    Ja, das kann man wohl erwarten.



  • volkard schrieb:

    ;fricky schrieb:

    kann ich ahnen, dass du unter verfolgungswahn leidest?

    Ja, das kann man wohl erwarten.

    keine angst. völlig egal, wie schlimm du mich auch in zukunfst anpöbeln wirst, ich bleibe immer cool und sachlich. versprochen.
    🙂



  • ;fricky schrieb:

    ausserdem bezog sich mein posting auf das von 'Uta Ma' (siehe zitat).

    Das macht deine Schlußfolgerungen aber nicht wahrer. Insbesondere die gipfelnde Empfehlung des ursprünglichen Buches über Algos in C (was schon in Sprache war) war weder dem Fragesteller noch der rudimentären Logik entsprechend.
    a) Der Fragesteller kann C und mag sich in höhere Algo-Bücher einarbeiten. Da ist Algos in C doch augenscheinlich die ideale Brücke.
    b) Algos in C ist saugeil zu lesen, fast wie ein Roman. Einen schmerzfreieren Übergang kann man sich kaum vorstellen. Ich wage zu behaupten, daß "Algos" in der 2. Auflage ist und "Algos in C" in der 6. Auflage und daß gerade das letztere für Sedgewicks Bekanntheitsgrad unter Hobby-Programmierern wie mir und Dir sorgt.
    c) Es bleibt hilfreich, den Array-Anfang der Implementierungssprache entsprechend zu haben.
    Damit ist Deine Antwort entweder ungeschickt oder doof. Das sollte ich nicht bewerten. Aber im Zuge von eigigen Äußerungen Deinerseits in diesem Forum zu anderen Threads, wo Du wiedermal fachwissenfrei gegen C++ geprollt hast, hatte ich gerade in diesem Moment den Eindruck, Du wärst hoffnungslos dumm. Daher mein undifferenziertes

    Leider hast Du im Fortgang dieser Diskission nur bestätigt, daß ich wiedermal recht hatte.



  • volkard schrieb:

    ;fricky schrieb:

    ausserdem bezog sich mein posting auf das von 'Uta Ma' (siehe zitat).

    Das macht deine Schlußfolgerungen aber nicht wahrer. Insbesondere die gipfelnde Empfehlung des ursprünglichen Buches über Algos in C (was schon in Sprache war) war weder dem Fragesteller noch der rudimentären Logik entsprechend.

    ich hab nur den verdacht, dass die übersetzungen der beispiele in andere programmiersprachen, speziell c++, nicht so toll sind (worauf Uta Ma hinwies), deshalb mein einwand. mit der frage des fragestellers hatte das überhaupt nichts zu tun. ich selbst kenne nur die ausgabe 'algorithmen' (mit pascal beispielen). es war nur eine antwort auf Uta Mas posting und du machst gleich so'n zwergenaufstand daraus. *fg*

    volkard schrieb:

    Ich wage zu behaupten, daß ... "Algos in C" ... für Sedgewicks Bekanntheitsgrad unter Hobby-Programmierern wie mir und Dir sorgt.

    vielleicht bin ich ja irgendwie krank, aber bücher zu grundlagenthemen mag ich am liebsten mit 'richtigem' pseudocode und einigem an text dabei. wie das 'handbook of applied cryptography'. das gibts z.b. nicht in verschiedenen C, Python, Pascal, whatever-versionen. pseudocode lese ich und versuche ihn nachzuvollziehen, C-code würde ich einfach überfliegen und hätte wahrscheinlich nur die hälfte davon kapiert. pseudocode ist ein guter kompromiss, um irgendwelche abläufe kompakt aber trotzdem menschenlesbar darzustellen. pascal kommt dem sehr nahe, die meisten anderen programmiersprachen leisten das nicht.

    volkard schrieb:

    Leider hast Du im Fortgang dieser Diskission nur bestätigt, daß ich wiedermal recht hatte.

    ach, darum geht's dir. sag das doch gleich. *fg*
    🙂


Anmelden zum Antworten