Hallo,
Da ich also die Oberfläche meiner beiden Sprachen mehr oder weniger beherrsche, würde ich jetzt aber auch mal gerne einen "Blick unter die Haube" machen, und mich mit Informatik beschäftigen.
Das ist die richtige Einstellung!
und b) Algorithmen als "Schwirig" gelten.
Wer sagt denn so etwas?
Sollte ein Grundwissen in einer Programiersprache als Voraussetzung reichen, würde mich interressieren, welche Bücher zu diesem Thema empfehlenswert sind.
Ich kann dir kein bestimmtes Buch empfehlen. Ich würde dir folgendes raten: Gehe in eine Bücherei (am besten Universitätsbücherei) und schau dir einfach mal alle Bücher, die es über Algorithmen und Datenstrukturen gibt, durch. Du wirst auf Bücher mit verschiedenen Schwerpunkten und von unterschiedlichsten Niveaus stoßen. Suche dir ein einfaches Buch, das dir gefällt, aus. Mit diesem Buch kannst du eine Zeit lang beschäftigen. Du brauchst nicht das ganze Buch durchzuarbeiten. Wenn es irgendwann zu einfach wird (weil du schon algorithmisch denken kannst), dann hole dir ein anderes, anspruchsvolleres.
Diese Vorgehensweise finde ich besser als sich ein mittelschweres Buch zu kaufen, nicht nur weil sie kostengünstiger ist, sondern weil einfache Bücher zumeist zu einfach sind, und weil ansprchsvolle Bücher einen zu schweren Einstieg bieten. Wenn du dich allerding in die Materie eingearbeitet hast, dann wirst du feststellen, dass eine Zuordnungvorschrift, oder das Wissen, dass eine gewisse Struktur eine Abelsche Gruppe darstellt, einfach mehr über die Eigenschaften dieser aussagt als zwei Seiten in "Algorithmen und Datenstrukturen für Dummies".
Wie du sicherlich feststellen wirst, sind deine Mathematikkenntnisse ausschlaggebend dafür, auf welchem Niveau du letztenendes bewegen wirst. Leider gehört vieles, was dir alltäglich in der Algorithmik begegnet, nicht zum Umfang der Schulmathematik. Der Stoff ist aber keineswegs komplizierter, manchmal nur etwas abstrakter und unanschaulich. Wenn du die ersten fünf Bücher über Algorithmen durchgearbeitet hast, und merkst, dass du nicht mehr weiter kommst, dann ist es Zeit für eine Runde Algebra. Allein mit den De Morganschen Regeln kannst du dir einiges an komplizierten if-else Anweisungen, die wohl in jeder Programmiersprache vorkommen, ersparen. Das Wichtigste ist, sich nicht vor mathematischen Symbolen abschrecken zu lassen.
Ich wünsche dir viel Erfolg, und vor allem Spaß am algorithmischen Lösen von mathematischen Problemen.
Mit freundlichen Grüßen
Dimitri Rettig
Meistens gelangen die Menschen nur durch die Folgen der Unordnung zur Einführung der Ordnung, und Gesetzlosigkeit führt gewöhnlich erst zu Gesetzen.
-- Friedrich Schiller