Bildnachweis: vgajic/E+/GettyImages
Die Entwicklung neuer Algorithmen kann neuen Programmierern einschüchternd erscheinen, aber es ist eine Fähigkeit, die wie jede andere geübt werden kann. Beginnen Sie mit der Suche nach einem Buch mit Algorithmusproblemen für Anfänger oder nehmen Sie an einem Online- oder Offline-Informatikkurs teil. Üben Sie die Beherrschung der Grundlagen des Algorithmusdesigns, einschließlich der Schätzung von Komplexität und Laufzeit, Überprüfung für Grenzfälle, die einem Computeralgorithmus Probleme bereiten könnten, und Aufteilen von Problemen in kleinere Teile.
Was ein Computeralgorithmus ist
Ein Algorithmus ist ein Verfahren, das ein Computer oder ein Mensch befolgt, um ein Problem zu lösen. Die lange Division ist ein Beispielalgorithmus, den viele Leute in der Schule lernen. Der euklidische Algorithmus, der verwendet wird, um den größten gemeinsamen Teiler zweier Zahlen zu finden, ist ein weiteres gängiges Beispiel.
Video des Tages
Ein Computeralgorithmus wird letztendlich in einer Programmiersprache geschrieben, die der Computer verstehen kann, aber wenn der Algorithmus entwickelt, schreiben Programmierer und Informatiker es oft zuerst informell als Prosa und dann formeller in einem generischen Format namens Pseudocode.
Pseudocode sieht aus wie eine Programmiersprache, aber da er eher von Menschen als von Computern gelesen werden soll, gibt es keine strengen syntaktischen Regeln.
Einfache Algorithmusbeispiele für Anfänger
Berühmte Beispiele für Algorithmen werden Anfängern von Informatikern und Programmierern oft beigebracht. Einige Beispiele sind der Dijkstra-Algorithmus, der in der Graphentheorie verwendet wird, um den kürzesten Weg zwischen zwei Punkten zu finden; Merge Sort, das zum Sortieren von Datenlisten verwendet wird; und der RSA-Algorithmus, der zum Verschlüsseln von Daten verwendet wird. Viele davon sind online in kostenlosen Lehrbüchern, Videos und Kursmaterialien verfügbar.
Die Online-Lernseite Khan Academy bietet viele Beispiele für Algorithmen, mit denen Anfänger experimentieren können. Große Universitäten wie Harvard, Stanford und das Massachusetts Institute of Technology machen curriculare Materialien und Kursvideos mit gängigen Algorithmen für den Einstieg in die Informatik online verfügbar Klassen.
Es gibt auch Websites mit Programmierwettbewerbsproblemen und Erklärungen zu deren Lösung, die Menschen helfen können, die ihre Fähigkeiten entwickeln möchten.
Überlegungen zum Algorithmus
Wenn Sie einen neuen Algorithmus entwickeln, möchten Sie sicherstellen, dass er in allen Fällen funktioniert, in denen er Ihrer Meinung nach sollte, und versuchen, seine Effizienz zu verstehen. Normalerweise teilen Programmierer den Algorithmus in einzelne Teile auf, damit sie sich überlegen können, wie jeder Teil funktioniert und wie lange es dauert. Dies wird als modulares Design bezeichnet.
Es ist eine gute Idee, einen Algorithmus in einigen einfachen Fällen selbst mit Stift und Papier zu testen, bevor Sie mit dem Schreiben von Code beginnen. Wenn Sie an Effizienz denken, denken Sie an den durchschnittlichen Fall, häufige Situationen, denen Ihr Algorithmus wahrscheinlich begegnen wird, und die Worst-Case-Laufzeit. Die Worst-Case-Laufzeit wird oft mit der sogenannten Big-O-Notation dargestellt.