Dein letzter Login ist schon eine Weile her.

Bitte überprüfe, ob alle Angaben in Deinem Profil noch aktuell sind.


30.06.2018
von Jan-Dirk
in IT-Talents

Algorithmen in der Informatik

x
Für Unternehmen:
IT-Nachwuchs kennenlernen!
Jetzt starten

Was sind Algorithmen und was können sie?

Moderne Computer können sehr komplexe Aufgaben ausführen. Jede Aufgabe besteht aus wohldefinierten Prozeduren, die als Algorithmen bezeichnet werden. Computer verwenden Algorithmen um die Aufgaben ausführen, die wir von ihnen erwarten.

Lesezeit: ca. 5 Min.

Bewerten

Themen auf dieser Seite:

IT-Talents.de ist Deine Plattform für Förderung und Weiterbildung während des IT-Studiums!
Fördermöglichkeiten ansehen


Was ist ein Algorithmus?

Um zu verstehen was ein Algorithmus ist können wir uns zunächst vorstellen wie wir an einem typischen Tag einen Computer verwenden. Beispielsweise beginnen wir, an einem Bericht/Word-Dokument zu arbeiten, und wenn wir einen Absatz abgeschlossen haben, führen wir eine Rechtschreibprüfung durch. Wir öffnen eine Tabellenkalkulationsanwendung, um einige finanzielle Projektionen zu erstellen, um besser beurteilen zu können, ob uns einen neuen Autokredit leisten können. Wir verwenden einen Webbrowser, um online nach einer bestimmt Art von Auto zu suchen, das wir kaufen möchten.

In den meisten Fällen machen wir uns das zwar nicht bewusst, aber all diese Operationen, die von unserem Computer ausgeführt werden, bauen auf Algorithmen auf. Eine gängige Definition von Algorithmus in der Informatik beschreibt diesen als eine gut definierte Prozedur, die es einem Computer ermöglicht, ein Problem zu lösen. Eine andere Definition ist, dass es sich um eine Folge eindeutiger Anweisungen handelt. Die Verwendung des Begriffs "eindeutig" weist darauf hin, dass kein Raum für subjektive Interpretation besteht. Jedes Mal, wenn wir unseren Computer bitten, den gleichen Algorithmus auszuführen, wird er dies auf genau die gleiche Weise tun, mit hoffentlich genau dem gleichen Ergebnis.

Ein Algorithmus ist eine eindeutige Handlungsvorschrift zur Lösung eines Problems oder einer Klasse von Problemen.

Betrachten wir die genannten Beispiele noch einmal: Die Rechtschreibprüfung verwendet Algorithmen. Programme zur Tabellenkalkulation und Suchmaschinen verwenden ebenfalls Algorithmen. Tatsächlich ist es in der Informatik schwer vorstellbar, dass es Aufgaben gibt, die von einem Computer ausgeführt werden und dabei keine solche Definition von Abläufen zum Einsatz kommt.

Was ist ein Computeralgorithmus in der Informatik?

Um einen Computer dazu zu bringen etwas zu tun, muss jemand ein Computerprogramm (als genau genommen eine Abfolge von Befehlen an den Computer) schreiben. Um ein Computerprogramm zu schreiben, müssen wir dem Computer Schritt für Schritt genau sagen, was er tun soll. Der Computer führt dann das Programm aus und folgt "stumpf" jedem vorgegebenen Schritt, um das Endziel zu erreichen.

Wenn wir dem Computer sagen, was zu tun ist, können wir auch wählen, wie genau er dabei vorgehen soll. Hier kommen Computeralgorithmen ins Spiel. Der Algorithmus ist die grundlegende Technik, um die Arbeit zu erledigen. Folgen wir einem Beispiel, um das Algorithmuskonzept zu verstehen. Nehmen wir an, wir haben einen Freund, der am Flughafen ankommt, und unser Freund muss nun irgendwie vom Flughafen zu unserem Haus kommen. Hier sind vier verschiedene Algorithmen, die wir unserem Freund geben können, damit er zu uns nach Hause kommt:

Die Taxi-Variante:
-Geh zum Taxistand.
-Steige in ein Taxi.
-Gib dem Fahrer meine Adresse.

Die Anruf-Variante:
-Wenn Dein Flugzeug ankommt, rufe mein Handy an.
-Triff mich außerhalb der Gepäckausgabe.

Die Mietwagen-Variante:
-Nimm den Shuttle zum Autoverleih.
-Miete ein Auto.
-Folge der Wegbeschreibung, um zu meinem Haus zu gelangen.

Die Bus-Variante:
-Außerhalb der Gepäckausgabe in einen Bus der Linie F steigen.
-An der Haltstelle Hauptstraße in einen Bus der Linie E umsteigen.
-Steige in der Schillerstraße aus.
-Gehe zwei Blocks Richtung Norden bis zu meinem Haus.

Auf IT-Talents.de kannst Du Dich mit dem Who-is-Who der IT-Branche vernetzen!
Jetzt Top-Unternehmen anschauen


Leistung und Kosten von Algorithmen

Alle vier dieser Algorithmen erreichen genau das gleiche Ziel, aber jeder Algorithmus verfährt auf völlig unterschiedliche Weise. Jede Variante ist auch mit spezifischen Kosten und einer anderen Reisezeit verbunden. Ein Taxi zum Beispiel ist wahrscheinlich der schnellste Weg, aber auch der teuerste. Den Bus zu nehmen ist definitiv weniger teuer, aber viel langsamer. Wir wählen unseren Weg basierend auf den Umständen die in unserem Fall zu erwarten sind.

Sortieralgorithmen

In der Computerprogrammierung gibt es oft viele verschiedene Möglichkeiten um eine gegebene Aufgabe zu erfüllen. Jeder mögliche Weg hat Vor- und Nachteile in verschiedenen Situationen. Das Sortieren beispielsweise ist ein Themengebiet, an dem viel geforscht wurde, weil Computer viel Zeit damit verbringen, Listen zu sortieren. Hier sind fünf verschiedene Algorithmen, die beim Sortieren verwendet werden:

Bin sort / Bucket sort
Merge sort
Bubble sort
Shell sort
Quicksort

Wenn man eine Million ganzzahlige Werte zwischen 1 und 10 hat und diese sortieren muss, ist Bin Sort der richtige Sortieralgorithmus. Wenn man eine Million Buchtitel hat, ist Quicksort möglicherweise der beste Weg. Wenn wir die Stärken und Schwächen der verschiedenen Vorgehnsweisen kennen, können wir die für die jeweilige Aufgabe den am besten geeigneten auswählen. Wenn wir die Informatik als eine Pyramide betrachten, stehen Algorithmen per Definition ganz unten. Sie sind die Grundlage von allem, und die grundlegende Sache, über die jeder ehrgeizige und kompetente Informatiker zwangsläufig ein vertieftes Wissen haben muss.

Computerprogramme basieren auf einer Ablauf-Definition. Eine einfache Definition von Algorithmus lautet in der Informatik wie folgt:

Es handelt sich dabei um eine Reihe von Schritten, die definieren, wie ein Problem zu lösen ist. Auf Computern laufen Software-Programme deren Aufgabe es ist, Probleme zu lösen.

Jetzt können wir sagen, dass eine Software eine konkrete Definition eines solchen Ablaufs für Computer ist. Es kann einen Algorithmus geben, der die effiziente Sortierung und Neuordnung von Millionenzahlen beschreibt, einen, der angibt, wie eine Website in ein Suchergebnis einzuordnen ist, einen , der angibt, wie ein Filter auf ein Bild angewendet wird, viele Algorithmen, die die KI eines Spiels definieren usw. All dies sind per Definition Algorithmen, sobald wir diese erstellt haben, ist der nächste Schritt, diese in einer bestimmte Programmiersprache zu formulieren. Sobald dies geschehen ist haben wir eine Software erstellt.

Hinweis: Der Algorithmus kann aus englischen Anweisungen und mathematischen Ausdrücken oder aus beiden bestehen. Wenn ein Algorithmus in einer solchen Form vorliegt (die drei, die ich gerade beschrieben habe), dann liegt er noch in abstrakter Form vor und muss mittels einer Programmiersprache in Software verwandelt werden. Wenn wir den Algorithmus dagegen direkt in einer Programmiersprache geschrieben haben, haben wir quasi eine Software bzw. ein Programm erstellt. Jetzt müssen wir nur noch optimieren und testen.

Einige der Vorgehensweisen, die wir in der Informatik bei einfachen Programmen verwenden, sind intuitiv und von Natur aus in unser logisches Denken eingebettet, während andere, die komplexen, untersucht und verstanden werden müssen. Algorithmen sind in allen Bereichen der Informatik weit verbreitet. Ein Suchmaschinenalgorithmus beispielsweise nimmt Suchstrings aus Schlüsselwörtern und Operatoren als Eingabe auf, durchsucht entsprechend seiner Definition die zugehörige Datenbank nach relevanten Webseiten und gibt Ergebnisse zurück.

Ein Verschlüsselungsalgorithmus wandelt Daten gemäß bestimmter Aktionen um, um sie zu schützen. Ein geheimer Schlüsselalgorithmus wie beispielsweise der Datenverschlüsselungsstandard (DES) des US-Verteidigungsministeriums verwendet denselben Schlüssel zum Verschlüsseln und Entschlüsseln von Daten. Solange der Algorithmus ausreichend ausgefeilt ist, kann niemand, dem der Schlüssel fehlt, die Daten entschlüsseln.

Aktuelle Aktionen:

IT-Stipendium November 2020

1200€ Förderung für IT-Talente!


Sei dabei und sichere Dir beim IT-Stipendium November 2020 bis zu 1200€ Förderung.
Jetzt bewerben!

IT-Stipendium November 2020 NRW

Stipendium für Informatiker aus NRW


Sei dabei und sichere Dir beim IT-Stipendium November 2020 bis zu 1200€ Förderung.
Jetzt bewerben!

IT-Talents ist ein Netzwerk nur für IT'ler. Auf unserer Plattform kannst Du Dich als registriertes Mitglied mit wenigen Klicks auf die Jobs unserer Partnerunternehmen oder auf IT-Projekte für Studierende bewerben. Darüberhinaus führen wir Wettbewerbe durch und vergeben IT-Stipendien.

Jetzt Mitglied werden.

Verwandte Artikel

Was ist Virtualisierung? - Virtualisierungstechnologien im…

30. Sep 2020 in IT-Talents

Virtualisierung verspricht effizienten Ressourceneinsatz, einen schnellen Wechsel zwischen verschiedenen…

weiter

Was ist das Objekterkennungssystem YOLO?

14. Aug 2020 in IT-Talents

Nicht nur die Großen der Branche wie Google oder Facebook entwickeln sie, neuronale Netzwerke zur Objekterkennung auf …

weiter

Business Intelligence Software - Welche Lösungen gibt…

23. Jul 2020 in IT-Talents

Daten gehören zu den wertvollsten Ressourcen jedes Unternehmens. Diese Schätze lassen sich allerdings nur mit einer e…

weiter

Was macht ein Kaufmann im E-Commerce 2020?

03. Jul 2020 in IT-Talents

Der Onlinehandel boomt und macht derzeit einen Großteil der Wirtschaft aus. Mit dem Ausbildungsberuf Kaufmann/frau im …

weiter

Was ist GAIA-X?

26. Jun 2020 in IT-Talents

Europäische Konzerne wünschen sich eine europäische Cloud. Am 4. Juni wurden ersten Einzelheiten zur technischen St…

weiter

Algorithmen im Alltag

10. Jun 2020 in IT-Talents

Die moderne Gesellschaft wäre ohne Algorithmen nicht denkbar. Obwohl das vielen Menschen nicht bewusst ist, prägen sie d…

weiter

Was ist ein binäres System?

08. Jun 2020 in IT-Talents

Im Speicher eines Computers sind Daten und Programmcode als eine Folge von Zahlen 0 und 1 dargestellt. Das ist möglich, …

weiter

Application Lifecycle Management: Definition und Funktion

27. May 2020 in IT-Talents

Ein Softwareprodukt verläuft in seinem Lebenszyklus mehrere typische Phasen, die sich unabhängig von der Art und K…

weiter

Was ist Reinforcement Learning im Machine Learning?

27. May 2020 in IT-Talents

AlphaGo von Google ist ein enorm Leistungsfähiges Programm - zumindest in seinem eingeschränkten Nutzungsbereich. A…

weiter

Schnell-Login für unsere Mitglieder

Tipp: Halte Dein Profil aktuell.

Lass' uns wissen, falls sich etwas Neues bei Dir ergibt.

Tipp: Vervollständige Dein Profil für noch bessere Karrierechancen.

Bist Du Schüler, Student oder bereits berufstätig? Teile uns Deinen aktuellen Status mit, damit wir Dir sinnvolle Aufgaben anbieten können.

Jetzt Status angeben

Wann stehst Du der IT-Branche zur Verfügung?

Bitte Monat und Jahr angeben.

{{ perspectiveForm.availableFrom.$error.dynamic }}

Neuer Versuch

Wo möchtest Du durchstarten?

{{ location.geolocation.name }}×
Bitte mindestens ein Ort angeben.

Als {{currentUser.status.title}} bist Du bereit für:


Lade Beschäftigungsarten

Bitte wähle den Zeitpunkt, Ort und min. eine Beschäftigungsart aus.

You have voted!
Schliessen
Vote for:
stars
Vote
You have not rated!