Informatik
76 ArtikelAlgorithmen
17- Komplexitaet von Algorithmen★★★
Die Komplexitaet eines Algorithmus beschreibt, wie sein Zeit- und Speicherbedarf mit der Eingabegroesse waechst. Die Big-O-Notation drueckt dies mathematisch aus.
- Speicherkomplexität★★★
Die Speicherkomplexität beschreibt, wie viel zusätzlichen Arbeitsspeicher ein Algorithmus im Verhältnis zur Eingabegröße benötigt. Sie ist genauso wichtig wie die Zeitkomplexität, besonders bei begrenzten Ressourcen.
- Zeitkomplexität★★★
Die Zeitkomplexität beschreibt, wie die Laufzeit eines Algorithmus mit der Größe der Eingabe wächst. Die Big-O-Notation ist das Standardwerkzeug, um Algorithmen in Bezug auf ihre Effizienz zu vergleichen.
- Flussdiagramme zeichnen★★
Ein gut gezeichnetes Flussdiagramm stellt die Logik eines Algorithmus klar und übersichtlich dar. Dieser Artikel zeigt, wie man Flussdiagramme für typische Programmstrukturen entwirft.
- Flussdiagramm-Symbole★
Flussdiagramme verwenden standardisierte Symbole, um den Ablauf eines Algorithmus grafisch darzustellen. Das Kennen dieser Symbole ermöglicht es, Diagramme zu lesen und selbst zu erstellen.
- Flussdiagramme★
Flussdiagramme visualisieren den Ablauf eines Algorithmus mithilfe standardisierter Symbole fuer Start, Ende, Prozesse und Entscheidungen.
- Algorithmen & Komplexität GrundlagenNeu★
Studie von Algorithmen, ihrer Effizienz, Komplexitätsanalyse und Problemlösung.
- Pseudocode-Strukturen★★
Pseudocode verwendet strukturierte Bausteine für Sequenzen, Entscheidungen und Schleifen. Das Kennen dieser Strukturen ermöglicht es, jeden Algorithmus klar und übersichtlich darzustellen.
- Pseudocode★
Pseudocode ist eine informelle, menschenlesbare Beschreibung eines Algorithmus. Er verwendet keine spezifische Programmiersprache und dient zur Planung vor der Implementierung.
- Pseudocode schreiben★
Pseudocode ist eine menschenlesbare Beschreibung eines Algorithmus, die wie Programmcode aussieht, aber in normaler Sprache verfasst ist. Er hilft dabei, Probleme zu planen, bevor man echten Code schreibt.
- Binäre Suche★★
Die binäre Suche teilt eine sortierte Liste bei jedem Schritt in der Mitte und schließt die Hälfte aus, in der das gesuchte Element nicht sein kann. Sie ist viel schneller als die lineare Suche.
- Lineare Suche★
Die lineare Suche prüft jedes Element einer Liste der Reihe nach, bis das gesuchte Element gefunden wird oder die Liste vollständig durchsucht ist. Sie ist einfach zu verstehen und funktioniert bei jeder Liste.
- Suchalgorithmen★★
Suchalgorithmen finden ein gesuchtes Element in einer Datenmenge. Die lineare Suche prueft jedes Element, die binaere Suche halbiert den Suchbereich in jedem Schritt.
- Bubble-Sort★★
Bubble-Sort ist ein einfacher Sortieralgorithmus, der benachbarte Elemente wiederholt vertauscht, wenn sie in der falschen Reihenfolge sind. Er eignet sich hervorragend als erster Algorithmus zum Kennenlernen, da seine Logik leicht Schritt für Schritt nachzuvollziehen ist.
- Einfügesortierung★★★
Einfügesortierung (Insertion Sort) baut eine sortierte Liste auf, indem jedes neue Element an der richtigen Stelle eingefügt wird. Sie ist besonders effizient bei fast sortierten Listen.
- Auswahlsortierung★★
Auswahlsortierung (Selection Sort) findet wiederholt das kleinste Element im unsortierten Teil einer Liste und stellt es an den Anfang. Er ist einfach zu verstehen und führt wenige Tauschoperationen durch.
- Sortieralgorithmen★★
Sortieralgorithmen ordnen Daten in eine bestimmte Reihenfolge. Bubblesort und Selection Sort sind grundlegende Algorithmen, die leicht zu verstehen sind.
Daten
19- Das Binaersystem★★
Das Binaersystem ist ein Zahlensystem mit der Basis 2, das nur die Ziffern 0 und 1 verwendet. Computer nutzen es, weil elektronische Schaltkreise zwei Zustaende darstellen koennen.
- Binäre Addition★★
Die binäre Addition funktioniert wie die normale Addition, verwendet aber nur die Ziffern 0 und 1.
- Bytes und Bits★
Lerne, was Bits und Bytes sind und wie Computer Datenmengen messen.
- Hexadezimalsystem★★
Das Hexadezimalsystem verwendet 16 Symbole und ist eine praktische Kurzschrift für Binärzahlen in der Informatik.
- Datenkompression★★
Datenkompression reduziert die Dateigeroesse. Verlustlose Kompression stellt Originaldaten exakt wieder her, verlustbehaftete Kompression opfert etwas Qualitaet fuer kleinere Dateien.
- Verlustfreie Kompression★★
Verlustfreie Kompression reduziert die Dateigröße, ohne irgendwelche Informationen zu verlieren – die Datei kann perfekt wiederhergestellt werden.
- Verlustbehaftete Kompression★★
Verlustbehaftete Kompression erzeugt sehr kleine Dateien, indem unwichtige Details dauerhaft entfernt werden – ideal für Fotos und Musik.
- Lauflängenkodierung★★
Die Lauflängenkodierung (RLE) ist eine einfache, aber effektive verlustfreie Kompressionsmethode, die Wiederholungen in Daten als Zahl-Symbol-Paare speichert.
- ASCII und Zeichenkodierung★★
ASCII ist ein Standard, der Zeichen wie Buchstaben und Zahlen als Binärzahlen kodiert, damit Computer Text speichern und verarbeiten können.
- Datendarstellung★★
Computer stellen Text, Bilder und Ton als binaere Zahlen dar. ASCII und Unicode codieren Zeichen, Bilder werden als Pixel gespeichert, und Ton wird digitalisiert.
- Pixel und Bilder★★
Digitale Bilder bestehen aus Millionen winziger Farbpunkte, sogenannten Pixeln, die zusammen ein Bild ergeben.
- Caesar-Verschlüsselung★
Die Caesar-Verschlüsselung ist eine der ältesten Verschlüsselungsmethoden – sie verschiebt jeden Buchstaben im Alphabet um eine feste Anzahl von Stellen.
- HTTPS und sicheres Web★★
HTTPS schützt deine Daten im Internet durch Verschlüsselung und stellt sicher, dass du wirklich mit der richtigen Website verbunden bist.
- Symmetrische Verschlüsselung★★★
Bei der symmetrischen Verschlüsselung verwenden Sender und Empfänger denselben Schlüssel zum Ver- und Entschlüsseln von Nachrichten.
- Verschluesselung★★★
Verschluesselung schuetzt Daten, indem sie unleserlich gemacht werden. Symmetrische Verschluesselung nutzt einen Schluessel, asymmetrische nutzt ein Schluessel-Paar.
- Dateitypen★
Dateitypen legen fest, wie Daten in einer Datei gespeichert und interpretiert werden. Die Dateiendung zeigt an, welches Programm eine Datei oeffnen kann.
- Bildformate★★
Verschiedene Bildformate wie JPEG, PNG und GIF verwenden unterschiedliche Methoden, um Bilder zu speichern – jedes mit eigenen Vor- und Nachteilen.
- Textdateien★
Textdateien speichern Informationen als einfache Zeichen und sind das grundlegendste Format zur Datenspeicherung auf Computern.
- Daten & Darstellung GrundlagenNeu★
Studie von Datentypen, Datenstrukturen, binärer Darstellung und Datenspeicherung.
Glossar
1Programmierung
21- Boolesche Ausdrücke★★
Boolesche Ausdrücke sind Ausdrücke, die entweder True (wahr) oder False (falsch) ergeben. Sie sind die Grundlage aller Entscheidungen in einem Programm.
- Bedingungen★★
Bedingungen steuern den Programmfluss: Mit if, elif und else wird entschieden, welcher Codeabschnitt abhaengig von einem Wahrheitswert ausgefuehrt wird.
- If-Else-Anweisungen★
If-Else-Anweisungen ermöglichen es einem Programm, je nach Bedingung unterschiedliche Aktionen auszuführen. Sie sind das grundlegende Werkzeug für Entscheidungen in der Programmierung.
- Logische Operatoren★★
Logische Operatoren (and, or, not) verknüpfen boolesche Ausdrücke. Sie ermöglichen es, komplexe Bedingungen aus einfacheren Teilen zusammenzusetzen.
- Datentypen★
Datentypen legen fest, welche Art von Daten eine Variable speichern kann. Die wichtigsten Typen sind Integer, Float, String und Boolean.
- Listen und Arrays★★
Eine Liste in Python ist eine geordnete Sammlung von Werten, die verändert werden kann. Listen sind eines der wichtigsten Werkzeuge, um mehrere zusammengehörige Daten zu speichern und zu verarbeiten.
- Zeichenketten★
Eine Zeichenkette (String) ist eine Folge von Zeichen wie Buchstaben, Ziffern und Symbolen. Zeichenketten sind einer der häufigsten Datentypen und bieten viele nützliche Methoden.
- Typumwandlung★★
Typumwandlung bezeichnet das Umwandeln eines Wertes von einem Datentyp in einen anderen. In Python unterscheidet man zwischen impliziter und expliziter Typumwandlung.
- Eingebaute Funktionen★
Python liefert viele nützliche Funktionen direkt mit, ohne dass du sie selbst schreiben musst. Diese eingebauten Funktionen decken häufige Aufgaben wie Mathematik, Textverarbeitung und Dateioperationen ab.
- Funktionen★★
Funktionen sind benannte, wiederverwendbare Codeabschnitte, die eine bestimmte Aufgabe ausfuehren, optionale Parameter empfangen und Ergebnisse zurueckgeben koennen.
- Parameter und Argumente★★
Parameter sind die Variablen, die eine Funktion bei ihrer Definition erwartet. Argumente sind die tatsächlichen Werte, die beim Aufruf übergeben werden. Sie ermöglichen es, Funktionen flexibel einzusetzen.
- Rückgabewerte★★
Eine Funktion kann mit dem return-Schlüsselwort ein Ergebnis zurückgeben. Rückgabewerte ermöglichen es, Berechnungen in Funktionen auszulagern und das Ergebnis im restlichen Programm weiterzuverwenden.
- Programmierung GrundlagenNeu★
Studie von Programmierkonstrukten, Logik, Syntax und grundlegenden Programmierkonzepten.
- For-Schleifen★★
Eine For-Schleife wiederholt einen Codeblock eine bestimmte Anzahl von Malen oder für jedes Element in einer Sammlung. Sie ist die häufigste Schleifenart in Python.
- Verschachtelte Schleifen★★★
Verschachtelte Schleifen sind Schleifen innerhalb von Schleifen. Sie ermöglichen die Verarbeitung von zweidimensionalen Daten wie Tabellen oder Gitter und sind ein wichtiges Muster in der Programmierung.
- Schleifen★★
Schleifen wiederholen einen Codeblock mehrfach. Die for-Schleife wird fuer eine bekannte Anzahl von Wiederholungen verwendet, die while-Schleife fuer eine unbekannte Anzahl.
- While-Schleifen★★
Eine While-Schleife wiederholt einen Codeblock so lange, wie eine Bedingung wahr ist. Sie eignet sich besonders, wenn du nicht im Voraus weißt, wie oft der Code ausgeführt werden soll.
- Zuweisung und Ausdrücke★
Eine Zuweisung speichert einen Wert in einer Variable. Ausdrücke berechnen neue Werte mithilfe von Operatoren. Beide sind grundlegende Bausteine jedes Programms.
- Konstanten★
Eine Konstante ist ein benannter Wert, der sich während der Ausführung eines Programms nie ändert. Der Einsatz von Konstanten macht Code leichter lesbar, wartbarer und einfacher zu debuggen.
- Gültigkeitsbereich von Variablen★★
Der Gültigkeitsbereich einer Variable bestimmt, in welchem Teil des Programms sie sichtbar und verwendbar ist. Das Verständnis von lokalem und globalem Gültigkeitsbereich hilft dir, Fehler zu vermeiden.
- Variablen★
Eine Variable ist ein benannter Speicherplatz, der einen Wert enthaelt, der sich waehrend der Programmausfuehrung aendern kann.
Systeme
18- Der Prozessor (CPU)★
Die CPU ist das Gehirn des Computers – sie führt alle Berechnungen und Anweisungen aus, die Programme benötigen.
- Hardware★
Hardware bezeichnet die physischen Bauteile eines Computers: CPU, RAM, Festspeicher, Mainboard und Ein-/Ausgabegeraete arbeiten zusammen, um Programme auszufuehren.
- Arbeitsspeicher (RAM)★
Der RAM ist der schnelle Arbeitsspeicher des Computers, der aktuelle Programme und Daten vorübergehend speichert, solange der Computer läuft.
- Speichergeräte★
Speichergeräte wie Festplatten, SSDs und USB-Sticks bewahren Daten dauerhaft auf – auch wenn der Computer ausgeschaltet ist.
- Computersysteme GrundlagenNeu★
Studie von Hardware, Betriebssystemen, Netzwerken und wie Computersysteme funktionieren.
- Wie das Internet funktioniert★★
Das Internet ist ein weltweites Netzwerk von Milliarden verbundener Geräte, das Daten mithilfe standardisierter Protokolle überträgt.
- IP-Adressen★★
IP-Adressen sind eindeutige Nummern, die jedem Gerät im Internet oder Netzwerk zugewiesen werden, damit Datenpakete das richtige Ziel finden.
- Netzwerke★★
Netzwerke verbinden Computer miteinander. LAN und WAN sind zwei grundlegende Netzwerktypen. IP-Adressen, Router und Datenpakete ermoeglichen die Kommunikation im Internet.
- Datenpakete★★
Datenpakete sind kleine Einheiten, in die Daten für die Übertragung im Internet aufgeteilt werden – jedes Paket reist unabhängig zum Ziel.
- Betriebssysteme★★
Ein Betriebssystem verwaltet die Hardware-Ressourcen eines Computers, stellt eine Benutzeroberflaeche bereit und ermooglicht das Ausfuehren von Anwendungen.
- Dateiverwaltung★
Dateiverwaltung beschreibt, wie Betriebssysteme Dateien in Ordnern organisieren und wie Benutzer Dateien erstellen, umbenennen, verschieben und löschen können.
- Multitasking★★
Multitasking ermöglicht es einem Computer, scheinbar mehrere Aufgaben gleichzeitig auszuführen, indem das Betriebssystem die CPU-Zeit schnell zwischen Programmen wechselt.
- Malware und Viren★★
Malware ist schädliche Software, die Computer beschädigen, Daten stehlen oder Benutzer ausspionieren kann – lerne, wie sie funktioniert und wie du dich schützt.
- Sichere Passwörter★
Ein sicheres Passwort schützt deine Accounts vor unbefugtem Zugriff – lerne, was ein starkes Passwort ausmacht und wie du deine Passwörter verwaltest.
- IT-Sicherheit★★
IT-Sicherheit schuetzt Computersysteme vor unbefugtem Zugriff, Datenverlust und Angriffen. Passwortschutz, Firewalls, HTTPS und Bewusstsein fuer Phishing sind grundlegende Massnahmen.
- Anwendungssoftware★
Anwendungssoftware sind die Programme, die Benutzer direkt für konkrete Aufgaben nutzen – von Textverarbeitung bis hin zu Spielen.
- Software★
Software bezeichnet alle Programme, die auf einem Computer laufen. Man unterscheidet zwischen Systemsoftware (z. B. Betriebssystem) und Anwendungssoftware (z. B. Browser, Textverarbeitung).
- Systemsoftware★
Systemsoftware ist die grundlegende Software, die die Hardware eines Computers verwaltet und anderen Programmen ermöglicht, zu laufen.