Aufgaben-Python/courses/ihk_ap2_fiae/05_datenstrukturen_und_speichermanagement/index.html
Alex Mueller b67fae4df3 feat(ihk): add complete AP2 courses for FIAE, FIDP, and FIDV (ZPA 2. Auflage)
- Added ihk_ap2_fiae (Anwendungsentwicklung: 12 modules, 4 tracks, Clean Architecture, GoF, UML 2.5, SOLID, O-Notation, 80h-Project guide)
- Added ihk_ap2_fidp (Daten- & Prozessanalyse: 12 modules, 4 tracks, BPMN 2.0, ETL/CDC, Star Schema, ML-Evaluation, interactive confusion matrix calculator, 40h-Project guide)
- Added ihk_ap2_fidv (Digitale Vernetzung: 12 modules, 4 tracks, CPS/RAMI 4.0, IO-Link, Profinet, TSN, OPC UA/MQTT, 5G Campus, IEC 62443, interactive Purdue trainer, 40h-Project guide)
- Expanded authentic question bank to 207 questions with official ZPA expectation horizons
- Registered all courses in courses_manifest.js, it_ausbildungen_manifest.js, server.py routes, and dashboard.html with button-only navigation
2026-09-14 21:49:29 +02:00

100 lines
6.6 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<link rel="icon" type="image/svg+xml" href="../../../assets/favicon.svg">
<meta charset="UTF-8">
<title>FIAE Modul 05: Datenstrukturen & Speichermanagement (LF 10)</title>
<link rel="stylesheet" href="../../../assets/style.css">
<link rel="stylesheet" href="../../../assets/ihk_tools/ihk_tools.css">
</head>
<body class="bg-slate-900 text-slate-100 font-sans p-6">
<div class="container mx-auto max-w-4xl">
<div class="flex justify-between items-center mb-6">
<a href="../../../dashboard.html" class="ihk-btn ihk-btn-secondary text-sm">← Zurück zum Dashboard</a>
<span class="ihk-badge ihk-badge-success">LF 10 Anwendungsentwicklung</span>
</div>
<h1 class="text-3xl font-extrabold text-sky-400 mb-2">FIAE Modul 05: Datenstrukturen & Speichermanagement (LF 10)</h1>
<p class="text-slate-300 text-lg leading-relaxed mb-6">Arrays, Verkettete Listen, Stacks (LIFO), Queues (FIFO), Binäre Suchbäume & Heap vs. Stack.</p>
<!-- Fachtheorie & Wissen -->
<div style="background: #1e293b; border: 1px solid #334155; border-radius: 12px; padding: 24px; margin-bottom: 24px;">
<h2 style="color: #38bdf8; margin-top: 0;">📦 Datenstrukturen & Speichermanagement (LF 10 AE)</h2>
<p style="color: #cbd5e1; line-height: 1.6;">
Die richtige Wahl der Datenstruktur entscheidet über Speicherbedarf und Performance: Statische Arrays, einfach/doppelt verkettete Listen, Stacks, Queues, Binäre Suchbäume und Hash-Tabellen.
</p>
<h3 style="color: #cbd5e1; margin-top: 20px;">1. Grundlegende Datenstrukturen im Vergleich</h3>
<div style="background: #0f172a; padding: 16px; border-radius: 8px; margin: 12px 0;">
<table class="ihk-table">
<thead>
<tr><th>Datenstruktur</th><th>Zugriff per Index</th><th>Einfügen am Anfang</th><th>Einfügen am Ende</th><th>Prinzip / Besonderheit</th></tr>
</thead>
<tbody>
<tr><td><strong>Array</strong></td><td>$O(1)$</td><td>$O(n)$ (Verschieben)</td><td>$O(1)$ (wenn Platz)</td><td>Fester, zusammenhängender Speicherblock</td></tr>
<tr><td><strong>Verkettete Liste</strong></td><td>$O(n)$ (Traversieren)</td><td>$O(1)$ (Pointer umhängen)</td><td>$O(1)$ mit Tail-Pointer</td><td>Knoten über Referenzen verknüpft</td></tr>
<tr><td><strong>Stack</strong></td><td>-</td><td>$O(1)$ (Push)</td><td>-</td><td><strong>LIFO</strong> (Last In, First Out) - Aufruf-Stack, Undo-Funktion</td></tr>
<tr><td><strong>Queue</strong></td><td>-</td><td>$O(1)$ (Enqueue)</td><td>$O(1)$ (Dequeue)</td><td><strong>FIFO</strong> (First In, First Out) - Druckwarteschlange</td></tr>
<tr><td><strong>Hash-Tabelle</strong></td><td>$O(1)$ (per Key)</td><td>$O(1)$</td><td>$O(1)$</td><td>Key $\rightarrow$ Hashfunktion $\rightarrow$ Bucket. Kollisionen: Chaining oder Open Addressing</td></tr>
</tbody>
</table>
</div>
<h3 style="color: #cbd5e1; margin-top: 20px;">2. Stack vs. Heap im Arbeitsspeicher</h3>
<p style="color: #cbd5e1; line-height: 1.6;">
- <strong>Stack (Stapelspeicher):</strong> Schneller, automatischer Speicher für lokale primitive Variablen und Methodenaufrufe (Stack Frames). Feste Größe, führt bei endloser Rekursion zum <em>StackOverflowError</em>.<br>
- <strong>Heap (Haufenspeicher):</strong> Großer, dynamischer Speicherbereich für Objekte und Instanzen. Verwaltung erfolgt durch den Garbage Collector (z. B. in Java, C#, Python) oder manuelle Freigabe (C/C++ mit <code>malloc/free</code>).
</p>
</div>
<!-- Interaktives Tool falls vorhanden -->
<!-- Fragenpool -->
<div style="background: #1e293b; border: 1px solid #334155; border-radius: 12px; padding: 24px; margin: 32px 0;">
<h2 style="color: #38bdf8; margin-top: 0; font-size: 1.4rem; display: flex; align-items: center; gap: 10px;">
<span>📝</span> Authentische IHK-Prüfungsaufgaben nach ZPA 2. Auflage (FIAE)
</h2>
<p style="color: #94a3b8; font-size: 0.9rem; margin-bottom: 20px;">
Bearbeiten Sie die Aufgaben und vergleichen Sie Ihre Antwort mit dem offiziellen Erwartungshorizont:
</p>
<div style="display: flex; flex-direction: column; gap: 20px;">
<div class="ihk-exam-task" data-title="Algorithmen-Komplexität O-Notation" data-points="8" style="background: #0f172a; border: 1px solid #334155; border-radius: 8px; padding: 20px; margin-bottom: 20px;">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px;">
<strong style="color: #38bdf8; font-size: 1.05rem;">Algorithmen-Komplexität O-Notation</strong>
<span class="ihk-badge ihk-badge-success">8 Punkte</span>
</div>
<div style="background: #1e293b; border-left: 4px solid #0284c7; padding: 12px 16px; border-radius: 6px; margin-bottom: 14px; color: #cbd5e1; font-size: 0.9rem; font-style: italic;">
Für eine stark wachsende Plattform müssen Algorithmen auf ihre Skalierbarkeit und Laufzeitkomplexität hin analysiert werden.
</div>
<p style="color: #f8fafc; font-size: 0.95rem; line-height: 1.6; margin-bottom: 16px;">
Erklären Sie die Landau-Symbole (O-Notation) zur Abschätzung der Zeitkomplexität. Ordnen Sie folgende Komplexitätsklassen von der effizientesten zur ineffizientesten Laufzeit: O(n log n), O(1), O(n²), O(log n), O(n). Nennen Sie je ein typisches Code- oder Algorithmenbeispiel für O(1), O(log n) und O(n).
</p>
<textarea class="ihk-input" rows="3" placeholder="Ihre Lösung stichpunktartig formulieren..."></textarea>
<details style="margin-top: 14px; background: #1e293b; padding: 12px 16px; border-radius: 6px; cursor: pointer;">
<summary style="font-weight: 600; color: #4ade80;">💡 Offizieller IHK-Erwartungshorizont & Punkteverteilung</summary>
<div class="ihk-task-solution" style="margin-top: 10px; color: #cbd5e1; font-size: 0.9rem; line-height: 1.6; white-space: pre-line;">
</div>
</details>
</div>
</div>
</div>
<!-- Footer Navigation mit echten Buttons -->
<div class="mt-8 pt-6 border-t border-slate-700 flex justify-between items-center">
<a href="../04_algorithmen_und_komplexitaet_o_notation/index.html" class="ihk-btn ihk-btn-secondary font-semibold">← Vorheriges Modul</a>
<a href="../../../dashboard.html" class="ihk-btn ihk-btn-secondary">🏠 Kursübersicht</a>
<a href="../06_objektorientierte_programmierung_solid/index.html" class="ihk-btn ihk-btn-primary font-semibold">Nächstes Modul →</a>
</div>
</div>
<script src="../../../assets/courses_manifest.js"></script>
<script src="../../../assets/course_sidebar.js"></script>
</body>
</html>