Das folgende Skript entsteht auf Grundlage der Inhalte der Vorlesung Mathematik IT-1 (Diskrete Mathematik) an der B-TU.
Die Mathematik kann grundsätzlich in zwei Aspekte aufgeteilt werden:
Um diskrete Mathematik betreiben zu können, müssen wir es irgendwie schaffen reale Bestände so weit zu abstrahieren, bis nur noch die Struktur übrig ist die wir untersuchen wollen. Das ganze können wir am Beispiel eines Straßennetzes illustrieren..
In diesem Kapitel geht es darum, den Schritt aus der echten Welt in die Abstraktion zu verstehen – nicht Graphentheorie zu erklären :)
Angenommen die Boom-Town Cottbus möchte im Umland sechs neue Siedlungen erschließen und muss dafür die sechs Siedlungsmittelpunkte mit einem möglichst kurzen Straßennetz erschließen. Dabei ist die Distanz zwischen den Siedlungsmittelpunkten für jedes Siedlungspaar bekannt. Das die Siedlungen auch an Cottbus angeschlossen werden müssten lassen wir hier einfach mal außer acht tho. Um dieses Problem zu modellieren gehen wir wiefolgt vor:
Dieses Kochrezept wenden wir jetzt mal auf unser Problem mit dem Straßennetz an, denn: der Stadtrat war so nett und hat uns die Distanz zwischen den Siedlungsmittelpunkten einfach auf einer Karte eingetragen. Und ja, wir nehmen an das die Siedlungen A, E, F, G, I & P heißen. Frag nicht, das Beispiel kommt aus der Vorlesung. Die Karte ist jetzt hier leider nicht existent, die Werte dafür schon:
| / | A | E | F | F | I | P |
|---|---|---|---|---|---|---|
| A | - | 120 | 147 | 142 | 147 | 81 |
| E | 120 | - | 132 | 42 | 157 | 45 |
| F | 147 | 132 | - | 108 | 66 | 105 |
| G | 142 | 42 | 108 | - | 168 | 61 |
| I | 107 | 157 | 66 | 168 | - | 112 |
| P | 81 | 45 | 105 | 61 | 142 | - |
Ach ja: die Angaben sind in km und hinterfragt auch nicht, wie Siedlungen im Umkreis einer gar nicht mal so großen Großstadt über 100km auseinanderliegen können.. Anyways, in dem Moment in dem wir die Distanzwerte von der Karte in die Tabelle übernehmen, überführen wir gleichzeitig das reale Problem in ein Abstraktes Modell. Denn jetzt haben wir als Datengrundlage wirklich nur noch die Distanzen, über denen wir das Problem lösen sollten. Ein möglicher Ansatz das gesuchte Netz zu finden ist die Tabelle in einen gewichteten Graphen zu transformieren. Der könnte dann in etwa so aussehen, nur in etwas ordentlicher bitte

Kurze Begriffklärung:
Ein Graph besteht aus
- Knoten/Vertecies: die entsprechen hier den Siedlungen,
- Kanten/Edges: die entsprechen hier den Straßen zwischen den Siedlungen, und
- Gewichten/Weights an den Kanten: die entsprechen hier den Distanzen der Straßen zwischen den Siedlungen.
Um das abstrakte Modell in das transformierte Modell zu überführen müssen wir jetzt nur noch das Strßennetz mit den geringsten Gewichten/Distanzen zwischen den Kanten finden. Dafür gibt es neben Brute-Force (also dem brutalen Probieren aller möglichen Kombinationen) und dem geschickten Kombinieren (der insgesamt leichtesten Kanten), einen relativ eleganten Algorithmus der ebenfalls in der Vorlesung vorgestellt wurde: der Prim-Algorithmus.
Prim-Algorithmus
Sei ein beliebiger gewichteter und ungerichteter Graph gegeben:
- wähle einen beliebigen Knoten als Startpunkt auf dem Graph und die leichteste, von dem Knoten ausgehende, Kante. Verbinde den, über diese Kante erreichten, Knoten mit dem Startknoten,
- suche nicht erschlossenen Knoten mit der günstigsten Kante, zu einem bereits erschlossenen Knoten,
- wiederhole Schritt 2 bis alle Knoten erschlossen sind.
Wir wählen jetzt “G” als Startknoten aus und betrachten als erstes die Gewichte der Kanten, die an “G” angrenzen:

| A | E | F | G | I | P | |
|---|---|---|---|---|---|---|
| G | 147 | ==42== | 108 | - | 168 | 61 |
Offensichtlich ist die leichteste Kante hier $(G,E)=42$. Wir verbinden für unseren leichtesten Graphen also die Knoten “G” und “E” mit einer Kante.

Jetzt betrachten wir wieder alle Kanten die von den erschlossenen Knoten “G” und “E” wegführen – also zu nicht erschlossenen Knoten führen. Da wir den nächsten Knoten sowohl an “G” als auch an “E” anschließen können, betrachten wir ab jetzt immer die gesamte Spalte.
| A | E | F | G | I | P | |
|---|---|---|---|---|---|---|
| G | 147 | ==42== | 108 | - | 168 | 61 |
| E | 120 | - | 132 | - | 157 | ==45== |
Die nächste Kante die wir in unseren leichtesten Graphen einbinden ist also $(E,P)=45$.

| A | E | F | G | I | P | |
|---|---|---|---|---|---|---|
| G | 147 | ==42== | 108 | - | 168 | 61 |
| E | 120 | - | 132 | - | 157 | ==45== |
| P | ==81== | - | 105 | - | 112 | - |

Der nächste Schritt ist etwas interessanter: Mit dem gerade erschlossenen “A” ergeben sich direkt von diesem Knoten $(A,F)=147$ oder $(A,I)=107$. Da wir aber “F” und “I” auch über alle anderen bereits erschlossenen Knoten anschließen können betrachten wir die jeweiligen Spalten.
| A | E | F | G | I | P | |
|---|---|---|---|---|---|---|
| G | 147 | ==42== | 108 | - | 168 | 61 |
| E | 120 | - | 132 | - | 157 | ==45== |
| P | ==81== | - | ==105== | - | 112 | - |
| A | - | - | 147 | - | 107 | - |

| A | E | F | G | I | P | |
|---|---|---|---|---|---|---|
| G | 147 | ==42== | 108 | - | 168 | 61 |
| E | 120 | - | 132 | - | 157 | ==45== |
| P | ==81== | - | ==105== | - | 112 | - |
| A | - | - | 147 | - | 107 | - |
| F | - | - | - | - | ==66== | - |

Jetzt haben wir einen Teilgraph der, spoiler, tatsächlich der leichteste ist. Wie man das genau zeigt kommt apperently später im Semester. Bis dahin bleiben erstmal die
Leitfragen
In der Mathematik für ITler dreht sich vieles um Algorithmen. Algorithmen sind dabei eigentlich nur eine Folge von präzisen Anweisungen die befolgt wird, um eine Eingabe in eine Ausgabe umzuwandeln. Jetzt gibt’s da nur ein kleines Problem: menschliche Sprache ist per Design nicht präzise. Um dafür zu komensieren könnte man Algorithmen einfach direkt in Code darstellen, aber so gut wie jeder hat da eine Preferenz zu Sprache und Stil. Deswegen führen wir für den Zweck dieser Veranstaltung Pseudocode ein.
Programmarker (unterstreichen)
begin
...
end
Anweisungen
Input <Variablenname>;
Output <Variablenname>;
<Variablennamen>:=Wert;
Steuerkonstrukte
if Bedingung then
Anweisung...;
else
Anweisung;
for <Variablenname>:=Start to End do
Anweisung...;
while Bedingung do
Anweisung...;
Bisschen zeitig so ein Thema, right? Leider haben manche bemitleidenswerte Seelen in diesem Kurs E-Technik belegen und der zuständige Dozent braucht komplexe Zahlen, also machen wir komplexe Zahlen.
Vielleicht kommt jetzt die Frage warum wir noch einen Zahlenbereich brauchen, und da sagte unser Dozent etwas in die Richtung von
$$ax+b=c$$Naja, gucken Sie sich doch mal die folgenden Gleichungen an und überlegen Sie sich mit welchen Zahlenbereichen diese lösbar wären.
Und das nur weil wir im letzten Fall die Wurzel aus einer negativen Zahl ziehen müssen.
Der Mathematiker Bombelli ist über das gleiche Problem, nur bei kubischen Gleichungen, gestolpert. Er muss die Annahme, das negative Wurzeln nicht lösbar sind, als ganz schönen Humbuck angesehen haben, denn er entschied sich kurzerhand einfach formal mit dem Ausdruck $\sqrt{-1}$ weiterzurechenen. Und siehe da, am Ende hoben sich die $\sqrt{-1}$ Teile Weg und übrig blieb eine reelle Lösung. Euler entwickelte die Idee später weiter und etablierte die imaginäre Einheit
$$i^2=-1.$$Die Menge der komplexen Zahlen $\mathbb{C}$ ist gegeben durch $\mathbb{C}:=\{z=a+bi\mid a,b\in\mathbb{R}\}$. Für $z=a+bi$ heißt
Beispiel 1.1: Ist $z=5+7i$, so ist $Re(z)=5$ und $Im(z)=7$.
Seien $z_1,z_2,z_3\in\mathbb{C}$, dann gilt
Beweis zu 1: Seien $z_1,z_2,z_3\in\mathbb{C}$, dann lässt sich der Startausdruck so ausdrücken:
$$ \begin{align*} z_1+(z_2+z_3)&=(a_1+ib_1)+((a_2+ib_2)+(a_3+ib_3)) \\ &=(a_1+ib_1)+(a_2+a_3+ib_2+ib_3) \\ &\overset{*}{=}(a_1+ib_1)+(\underbrace{(a_2+a_3)}_{\in\mathbb{R}}+i\underbrace{(b_2+b_3)}_{\in\mathbb{R}}) \\ &=(a_1+(a_2+a_3))+(ib_1+i(b_2+b_3)) \\ &=((a_1+a_2)+a_3)+(i(b_1+b_2)+ib_3) \\ &=((a_1+ib_1)+(a_2+ib_2))+(a_3+ib_3)=(z_1+z_2)+z_3\qquad\square \end{align*} $$Beweis zu 2: Seien $z_1,z_2\in\mathbb{C}$, dann können wir den Start so formulieren:
$$ \begin{align*} z_1+z_2&=(a_1+ib_1)+(a_2+ib_2) \\ &=(-ib_1+ib_1+a_1+ib_1)+(a_2+ib_2) \\ &=(-ib_1+(ib_1+a_1)+ib_1)+(a_2+ib_2) \\ &=(ib_1+a_1)+(a_2+ib_2) \\ &=ib_1+(a_1+a_2)+ib_2 \\ &=ib_1+(a_2+a_1)+ib_2 \\ &=ib_1-ib_2+ib_2+(a_2+a_1)+ib_2-ib_1+ib_1 \\ &=ib_2+(a_2+a_1)+ib_1 \\ &=(ib_2+a_2)+(ib_1+a_1) = (a_2+ib_2)+(a_1+ib_1) \\ &=z_2+z_1\qquad\square \end{align*} $$Seien $z_1,z_2\in\mathbb{C}$, dann gilt
Beweis zu 1: Wurde schon als Nebenprodukt im Beweis zu Satz 1.2.1 gezeigt. Die Stelle ist mit “*” markiert.
Beweis zu 2: Seien $z_1,z_2\in\mathbb{C}$
$$ \begin{align*} z_1z_2&=(a_1+ib_1)(a_2+ib_2) \\ &=a_1a_2+ia_1b_2+ia_2b_1+i^2b_1b_2 \\ &=a_1a_2+i(a_1b_2+a_2b_1)-b_1b_2 \\ &=\underbrace{(a_1a_2-b_1b_2)}_{\in\mathbb{R}}+i(\underbrace{a_1b_2+a_2b_1}_{\in\mathbb{R}})\in\mathbb{C}.\qquad\square \end{align*} $$Die Tatsache das die komplexen Zahlen letztlich auch nur aus zwei rellen Zahlen und einer imaginären Einheit zusammengebastelt werden, lässt und außerdem darauf schließen, dass auch für die Multiplikation ähnliche Rechenregeln gelten könnten, wie wir sie schon kennen.
Die komplexen Zahlen erfüllen mit obigen Rechenregeln das Assoziativ- und das Kommutativgesetz. Seien dazu $z_1,z_2,z_3\in\mathbb{C}$, dann gelten
Verwenden wir 1 und 2 dieses Lemmas, können wir auch die Distributivität der komplexen Zahlen zeigen:
Beweis zu 1: seien $z_1,z_2,z_3\in\mathbb{C}$
$$ \begin{align*} z_1(z_2\cdot z_3)&=(a_1+ib_1)((a_2+ib_2)(a_3+ib_3)) \\ &=(a_1+ib_1)(a_2a_3+a_2b_3i+a_3b_2i+b_2b_3i^2)=(a_1+ib_1)(a_2a_3+a_2b_3i+a_3b_2i-b_2b_3) \\ &=(a_1+ib_1)((a_2a_3-b_2b_3)+i(a_2b_3+a_3b_2)) \\ &=a_1a_2a_3 - a_1b_2b_3 + a_1a_2b_3i + a_1a_3b_2i + b_1a_2a_3i - b_1b_2b_3i + b_1a_2b_3i^2 + b_1a_3b_2i^2 \\ &=a_1a_2a_3 - a_1b_2b_3 + a_1a_2b_3i + a_1b_2a_3i + b_1a_2a_3i - b_1b_2b_3i - b_1a_2b_3 - b_1b_2a_3 \\ &=(a_1a_2a_3 - a_1b_2b_3 - b_1a_2b_3 - b_1b_2a_3) + i(a_1a_2b_3 + a_1b_2a_3 + b_1a_2a_3 - b_1b_2b_3) \\ &=a_3(a_1a_2-b_1b_2)+b_3(a_1b_2-b_1a_2)+ia_3(a_1b_2+b_1a_2)+ib_3(a_1a_2-b_1b_2) \\ &=\underbrace{a_3(a_1a_2-b_1b_2)+ib_3(a_1a_2-b_1b_2)}_{\in\mathbb{C}}+\underbrace{b_3(a_1b_2-b_1a_2)+ia_3(a_1b_2+b_1a_2)}_{\in\mathbb{C}} \\ &=(a_3+ib_3)(a_1a_2-b_1b_2)+i(a_3+ib_3)(a_1b_2+b_1a_2) \\ &=((a_1a_2-b_1b_2)+(a_1b_2+b_1a_2)i)(a_3+ib_3) \\ &=(a_1a_2-b_1b_2+a_1b_2i+b_1a_2i)(a_3+b_3i) \\ &=((a_1+b_1i)(a_2+b_2i))(a_3b_3i)=(z_1\cdot z_2)z_3\qquad\square \end{align*} $$Beweis zu 2: seien $z_1,z_2\in\mathbb{C}$
$$ \begin{align*} z_1\cdot z_2&=(a_1+b_1i)(a_2+b_2i) \\ &=a_1a_2+a_1b_2i+b_1a_2i+b_1b_2i^2 \qquad\mid\text{KG+} \\ &=a_1a_2+ib_1a_2+ia_1b_2+b_1b_2i^2 \qquad\mid\text{DG}\mathbb{R} \\ &=a_2(a_1+ib_1)+ib_2(a_1+ib_1) \\ &=(a_2+ib_2)(a_1+ib_1)=z_2z\cdot z_1\qquad\square \end{align*} $$Beweis zu 3: seien $z_1,z_2,z_3\in\mathbb{C}$
$$ \begin{align*} (z_1+z_2)z_3&=((a_1+b_1i)+(a_2+b_2i))(a_3+b_3i) \\ &=(a_1+a_2+ib_1+ib_2)(a_3+ib_3) \\ &=a_1a_3 + a_2a_3 + ia_3b_1 + ia_3b_2 + ia_1b_3 + ia_2b_3 + i^2b_1b_3 + i^2b_2b_3 \\ &=a_1a_3 + a_2a_3 + ia_3b_1 + ia_3b_2 + ia_1b_3 + ia_2b_3 - b_1b_3 - b_2b_3 \\ &=(a_1a_3-b_1b_3+ia_3b_1+ia_1b_3)+(a_2a_3-b_2b_3+ia_3b_2+ia_2b_3) \\ &=((a_1a_3-b_1b_3) + i(a_3b_1+a_1b_3))+((a_2a_3-b_2b_3) + i(a_3b_2+a_2b_3)) \\ &=z_1z_3+z_2z_3\qquad\square \end{align*} $$Neben den obigen Rechenregeln können wir tatsächlich aber noch mehr Konzepte der Addition und Multiplikation aus den reellen Zahlen übernehmen. Zum einen gibt es das Konzept des neutralen Elementes, das nichts an einer Gleichung einer Rechenart ändert, und das Konzept des Inversen das, verknüpft mit dem Original das neutrale Element ergibt. Klingt erstmal deutlich komplizierter als es tatsächlich ist:
Als das neutrale Element einer Rechenoperation bezeichnen wir das Element, das, mit verknüpft mit der jeweiliges Rechenoperation, nichts am Ergebnis der Gleichung ändert.
Da wir die reelle Zahl $0$ auch ale komplexe Zahl $0=0+0i$ schreiben können, ist $0$ auch neutrale Element der Addition in den komplexen Zahlen. Analoges gilt für die Multiplikation.
Beweis: sei $z\in\mathbb{C}$
$$ z+0=(a+bi)+(0+0i)=(a+0)+(bi+0i)=a+bi\qquad\square $$$$ z\cdot1=(a+bi)\cdot(1+0i)=a+0ai+1bi+0bi=a+bi\qquad\square $$Als das Inverse Element einer Rechenoperation bezeichen wir ein Element, mit dem, über die jeweilige Rechenoperation, verknüpft eine Gleichung das neutrale Element ergibt.
Das dasselbe Prinzip von Inversen auch in den komplexen Zahlen funktioniert sieht man nicht sofort, wird aber irgendwo schnell klar, wenn man Subtraktion als Addition mit gedrehtem Vorzeichen und Division als Multiplikation mit dem Reziprokes ansieht.
Das multiplikativ Inverse einer komplexen Zahl $z$ schreiben wir als $z^{-1}$.
Beweis: sei $z\in\mathbb{C}$
$$ z-z=(a+bi)-(a+bi)=a+bi-a-bi=0\qquad\square $$$$ z\cdot\frac1z=(a+bi)\cdot\frac1{a+bi}=1\qquad\square $$Die Komplexen Zahlen $(\mathbb{C},+,\cdot)$ bilden einen Körper.
Das muss ihnen jetzt erstmal noch nichts sage. Dieses Thema behandeln wir dann im 2. Semester in der linearen Algebra. Bis dahin können Sie sich aber schon mal merken: rauszufinden, das ein Zahlenraum ein Körper ist, ist für Mathematiker das absolute non plus ultra.
Ein Körper ist eine mathematische, bzw. eine algebraische, Struktur über eine Menge und zwei zweistellige Operationen auf dieser Menge. Diese zweistelligen Operationen werden zur Verallgemeinerung oft einfach als “Addition” und “Multiplikation” bezeichnet: $(K,+,\cdot)$ für eine Menge $K$.
Damit ein solches Tupel als Körper bezeichnet werden kann, muss es folgende Voraussetzungen erfüllen:
Und siehe da: wir haben gezeigt (1) die Addition komplexer Zahlen liefert Komplexe Zahlen, wobei das Assoziativ- und Kommutativgesetz gelten bei der das neutrale und inverse Element existieren, (2) mit den gleichen Bedingeungen gezeigt und (3) die Distributivität nachgewiesen.
Die reellen Zahlen $\mathbb{R}$ sein ein Unterkörper der komplexen Zahlen $\mathbb{C}$.
Die quadratische Gleichung $ax^2+bx+c=0$, für $a,b,c\in\mathbb{C}$, hat in den komplexen Zahlen immer zwei Lösungen. Ein nicht-konstantes Polynom $n$-ten Grades hat dabei immer $n$ Lösungen.
Die Konjunktion einer komplexen Zahl $z$ wird geschrieben als $\overline z:=a-ib$.
Der Betrag/die Norm einer komplexen Zahl $z$ ist gegeben als $|z|=\sqrt{z\cdot\overline z}=\sqrt{Re(z)^2+Im(z)^2}=\sqrt{a^2+b^2}$.
Angenommen wir haben $z=\frac32+\frac32i$, dann bestimmen wir $|z|=\sqrt{1.5^2+1.5^2}=\sqrt{\frac94+\frac94}=\frac{\sqrt{18}}2$. Warum wir einfach so den “Pythagoras” benutzen können sehen wir, wenn wir die komplexe Zahl im zweidimensionalen Raum darstellen – i.e. in ein Koordinatensystem eintragen. Dann können wir die Strecke zwischen Koordinatenursprung und $z$ als Vektor $\vec{z}$ interpretieren und dementsprechend den Betrag – i.e. Abstand von Null – wie bei einem Vektor berechnen.
Es gelten folgende Rechenregeln für komplexe Zahlen $z,z_1,z_2,z_3\in\mathbb{C}$:
Beweis zu 1: sei $z$ eine komplexe Zahl
$$ \overline{\overline{z}}=\overline{a-ib}=a+ib=z\qquad\square $$Beweis zu 2: seien $z_1,z_2\in\mathbb{C}$
$$ \begin{align*} \overline{z_1+z_2}&=\overline{(a_1+ib_1)+(a_2+ib_2)} \\ &=(a_1-ib_1)+(a_2+ib_2) \\ &=\overline{a_1+ib_1}+\overline{a_2+ib_2} \\ &=\overline{z_1}+\overline{z_2}\qquad\square \end{align*} $$Beweis zu 3: seien $z_1,z_2\in\mathbb{C}$
$$ \begin{align*} \overline{z_1}\cdot\overline{z_2}&=(a_1-ib_1)(a_2-ib_2) \\ &=a_1a_2-a_1b_2i-a_2b_1i^2+b_1b_2i=a_1a_2-a_1b_2i-a_2b_1i-b_1b_2 &=(a_1a_2+b_1b_2)-i(a_1b_2+a_2b_1)=\overline{z_1\cdot z_2}\qquad\square \end{align*} $$Beweis zu 4: sei $z$ eine komplexe Zahl
Beweis zu 5: sei $z$ eine komplexe Zahl
Beweis zu 6: seien $z_1,z_2\in\mathbb{C}$
$$ \begin{align*} \frac{z_1}{z_2}&=\frac{a_1+ib_1}{a_2+ib_2} \\ &=\frac{a_1+ib_1}{a_2+ib_2}\cdot\frac{\overline{z_2}}{\overline{z_2}} \\ &=\frac{a_1+ib_1}{a_2+ib_2}\cdot\frac{a_2-ib_2}{a_2-ib_2} \\ &=\frac{(a_1+ib_1)(a_2-ib_2)}{z_2\overline{z_2}} \\ &=\frac{z_q\overline{z_2}}{|z_2|^2}\qquad\square \end{align*} $$Beweis zu 7: seien $z_1,z_2\in\mathbb{C}$
$$ \begin{align*} |z_1\cdot z_2|&=|(a_1+ib_1)(a_2+ib_2)| \\ &=|a_1a_2+a_1b_2i+a_2b_1i-b_1b_2| \\ &=\sqrt{Re(z_1z_2)^2+Im(z_1z_2)} \\ &=\sqrt{(a_1a_2-b_1b_2)^2+(a_1b_2+a_2b_1)^2} \\ &=\sqrt{a_1^2a_2^2 - 2a_1a_2b_1b_2 + b_1^2b_2^2 + a_1^2b_2^2 + 2a_1a_2b_1b_2 + a_2^2b_1^2} \\ &=\sqrt{(a_1a_2)^2+(b_1b_2^2)+(a_1b_2)^2+(a_2b_1)^2} \\ &=\sqrt{(a_1a_2)^2+(a_1b_2)^2+(a_2b_1)^2+(b_1b_2)^2} \\ &=\sqrt{(a_1^2+b_1^2)(a_2^2+b_2^2)} \\ &=\sqrt{(a_1^2+b_1^2)}\cdot\sqrt{(a_2^2+b_2^2)} \\ &=|z_1|\cdot |z_2|\qquad\square \end{align*} $$Wir haben schon festgestellt das wir die komplexen Zahlen in der gaußschen Zahlenebene darstellen können, indem wir den Realteil auf der x-Achse, und den Imaginärteil auf der y-Achse abbilden.
Damit kann für jede komplexe Zahl $z$ auch ein Winkel $\varphi$ bestimmt werden, den wir das Argument von $z$ nennen.
Wir schreiben $arg(z)=\varphi$, wobei $\varphi\in(-\pi,\pi]$ gilt.
Der Winkel $\varphi$ kann, durch den Zusammenhang mit dem Einheitskreis, durch $\arctan\frac b a$, mit $a=Re(z)\& Im(z)=b$, bestimmt werden.
Last edited: 16.10.2026