Mathematische Grundlagen
Aquivalenzrelation,
wenn sie transitiv, reflexiv und symmetrisch ist.
Zwei Relationen R A A und R0 A0 A0 heien isomorph, falls es eine
Bijektion f : A A0 mit (a, b) R (f (a), f (b)) R0 a, b A gibt.
Satz 0.5 Ist n eine ungerade nat
urliche Zahl, so auch n2 .
Satz 0.6 F
ur n N gilt: ist n2 gerade, so auch n.
Satz 0.7 Es existiert kein x Q mit x2 = 2.
Satz 0.8 ( kleiner Gau) F
ur alle n N gilt
Pn
k=1
= 21 n(n + 1).
Landau-Symbole
f (n) = O(g(n))
f (n) = (g(n))
f (n) = (g(n))
f (n) = o(g(n))
f (n) = (g(n))
C 0, n0 N : |f (n)| C |g(n)| n n0
f (n)
bzw. lim sup
<
g(n)
nN
C > 0, n0 N : |f (n)| C |g(n)| n n0
f (n)
bzw. lim inf
>0
nN g(n)
f = O(g(n)) f = (g(n))
c > 0 n0 N : |f (n)| < c |g(n)| n n0
f (n)
bzw. lim
=0
nN g(n)
c 0 n0 N : |f (n)| > c |g(n)| n n0
f (n)
bzw. lim
=
nN g(n)
Kombinatorik
Anzahl der M
oglichkeiten, k Elemente aus einer n-elementigen Menge zu ziehen
geordnet
ungeordnet
n
k
mit Zur
ucklegen
n
k
n+k1
k
ohne Zur
ucklegen
n
k
Summenregel.
S=
Si |S| =
iI
|Si |.
iI
Produktregel.
S=
Si |S| =
iI
|Si |.
iI
Gleichheitsregel.
f : S T bijektiv |S| = |T |
Doppeltes Abz
ahlen.
X
X
RST
|{t T : (s, t) R}| =
|{s S : (s, t) R}|
sS
tT
Schubfachprinzip.
f : X Y, |X| > |Y | y Y : |f 1 (y)| 2.
Verallgemeinertes Schubfachprinzip.
f : X Y y Y : |f 1 (y)|
|X|
.
|Y |
n+m
k
=
k
X
n
m
.
`
k`
`=0
n
X
Sn,k
k=0
sn,k
k=0
ist die Anzahl aller Permutationen einer n-elementigen Menge, also |Sn | = n!.
Satz 1.27 Die Anzahl aller ungeordneten k-Partitionen einer Zahl n ist
Pn,k =
k
X
Pnk,j ,
j=0
mn
m!Sn,m
U unterschiedlich
0
sonst
B gleich
n1
m
m+n1
m1
n
n
U unterschiedlich
B unterschiedlich Pm
1, m n
S
Sn,m
n,k
k=1
U gleich
0 sonst
Pm
B gleich
1, m n
Pn,m
k=1 Pn,k
U gleich
0 sonst
bijektiv
n!, m = n
sonst
0
1, m = n
0 sonst
1, m = n
0 sonst
1, m = n
0 sonst
n
X
Ck1 Cnk f
ur n 1,
k=1
Asymptotik
F
ur (n) = |{p N : p ist eine Primzahl und p n}| gilt (n)
n
ln n .
1 ln ln n ln n n n nc nln n cn nn cc .
Zudem gilt f
ur beliebige Konstanten , R: n n .
ln n
e ln n = n f
ur alle > 0.
1
1
n! = 2n
+O
1+
.
e
12n
n2
Binomialkoeffizienten.
n k
k
en k
n
.
k
k
n
n ln ln n
+O
,
ln n
ln n
andererseits gilt
Bn
max Sn,k Bn .
1kn
n
Harmonische Zahlen. F
ur Hn =
Pn
1
i=1 i
gilt
1
Hn = ln n + + O
,
n
Graphentheorie
Korollar 2.6 Die Anzahl der Knoten ungeraden Grades ist gerade.
Weitere Definitonen.
Sei im Folgenden G = (V, E) ein Graph.
Ein Weg der L
ange ` ist ein Tupel (w0 , , w` ) mit {wi1 , wi } E 1 i `.
Ein Pfad der L
ange ` ist ein Weg (w0 , , w` ) mit wi 6= wj 1 i 6= j `.
Ein Kreis der L
ange ` 3 ist ein Pfad (w1 , , w` ) mit {w1 , w` } E.
Ein Graph G0 = (V 0 , E 0 ) heit Teilgraph von G, falls V 0 V und E 0 E.
Ein Graph G0 = (V 0 , E 0 ) heit induzierter Teilgraph von G, falls E 0 = E
Diesen schreibt man auch G[V 0 ].
V0
2
Lemma 2.18 Ist T = (V, E) ein Baum, u V ein Blatt, ist T [V \{u}] ein Baum.
Satz 2.19 Ist T = (V, E) ein Baum, so gilt |E| = |V | 1.
Lemma 2.20 Ist T = (V, E) ein Baum und u V , so hat T [V \ {u}] genau
k = deg(u) Komponenten T1 , , Tk , die allesamt Baume sind.
Lemma 2.21 Sei G = (V, E) zusammenhangend und C ein Kreis in G. Dann
ist f
ur alle in C enthaltenen Kanten e auch Ge := (V, E\{e}) zusammenhangend.
Satz 2.22 Jeder zusammenhangende Graph G = (V, E) besitzt einen Spannbaum, also einen Teilgraphen T = (V 0 , E 0 ) mit V 0 = V , der ein Baum ist.
Satz 2.24 (Cayley) Es gibt genau nn2 markierte Baume auf n Knoten.
ALGORITHMUS: Erzeugung des Pr
ufer-Codes aus einem Baum
Eingabe: Baum T = (V, E) mit V = [n].
Ausgabe: Wort t1 tn2 u
ber dem Alphabet [n].
while Anzahl Knoten |V | > 2 do begin
bestimme Blatt v im Baum T mit kleinster Markierung;
ti Nachbar von v im Baum T ;
entferne v aus V und {v, ti } aus E;
i i + 1;
end
ALGORITHMUS: Rekonstruktion eines Baumes aus seinem Pr
ufer-Code
Eingabe: Wort t1 tn2 u
ber dem Alphabet [n].
Ausgabe: Baum T ([n], E).
S ;
for i from 1 to n 2 do begin
w
ahle kleinsten Knoten si [n] \ S, der nicht in ti tn2 vorkommt;
f
uge die Kante ei := {si , ti } in den Graphen ein;
S S {si };
end
f
uge die Kante en1 := [n] \ S in den Graphen ein;
ALGORITHMUS: Breitensuche
Eingabe: Graph G = (V, E), Startknoten s V .
Ausgabe: Felder d[v], pred[v] mit v V .
for all v V do begin
if v = s then d[v] 0 else d[v] ;
pred[v] nil;
end
Q new Queue;
Q.Insert(s);
while not Q.IsEmpty() do begin
v Q.Dequeue();
for all u (v) do
if d[u] = then begin
d[u] d[v] + 1;
pred[u] v;
Q.Insert(u);
end
end
Satz 2.27 Ist G = (V, E) als Adjazenzliste gespeichert, ist die Laufzeit der
Breitensuche O(|V | + |E|). Am Ende des Algorithmus ist d[v] = , falls kein
s-v-Pfad existiert oder d[v] ist die Lange des k
urzesten s-v-Pfades. Ist G zusammenh
angend, so ist T (V, E) mit E = {{v, pred[v]} : v V \{s}} ein Spannbaum,
in dem jeder s-v-Pfad jeweils ein k
urzester s-v-Pfad ist.
Korollar 2.29 Ist G = (V, E) als Adjazenzliste gespeichert, lassen sich die Zusammenhangskomponenten in Laufzeit O(|V | + |E|) bestimmen.
ALGORITHMUS: Tiefensuche
Eingabe: Graph G = (V, E), Startknoten s V .
Ausgabe: Feld pred[v] mit v V .
for all v V do pred[v] nil;
S new Stack;
v s;
repeat
if u (v) \ {s} mit pred[u] = nil then
S.Push(v);
pred[u] v;
v u;
else if not S.IsEmpty() then
v S.Pop();
else
v nil;
until v = nil;
8
Satz 2.31 Ist G = (V, E) als Adjazenzliste gespeichert, benotigt die Tiefensuche
eine Laufzeit von O(|V | + |E|). Am Ende des Algorithmus gilt: ist G zusammenh
angend, so ist T (V, E) mit E = {{v, pred[v]} : v V \{s}} ein Spannbaum.
Definition 2.34 Ein Hamiltonkreis in einem Graphen G = (V, E) ist ein Kreis,
der alle Knoten genau einmal durchlauft. Existiert dieser, heit G hamiltonsch.
Satz 2.37 (Ore) Ein Graph G = (V, E) ist hamiltonsch, falls
{x, y} V2 \ E : deg(x) + deg(y) |V |.
Definition 2.38 Eine Eulertour in einem Graphen G ist ein Weg (u, a1 , , a` , u),
der alle Kanten genau einmal durchlauft. Existiert ein solcher, heit G eulersch.
Satz 2.39 G = (V, E) ist genau dann eulersch, wenn u V : 2 | deg(u) gilt.
Definition 2.41 Ein Graph heit planar, wenn er sich ohne Uberkreuzungen
zeichnen l
asst.
Satz 2.43 F
ur einen zusammenhangenden Graphen G = (V, E) gilt
#Gebiete = |E| |V | + 2.
Satz 2.44 F
ur jeden planaren Graphen G = (V, E) mit |V | 3 Knoten gilt
|E| 3|V | 6.
Anmerkung. Analog zu Satz 2.44 gilt f
ur jeden planaren Graphen G = (V, E)
mit |V | 3 Knoten: enth
alt G keinen Kreis der Lange 3, so gilt |E| 2|V | 4.
Satz 2.47 (Kuratowski) Ein Graph G = (V, E) ist genau dann planar, wenn er
keine Unterteilung des K5 oder des K3,3 als Teilgraphen enthalt.
Definition 2.48 Eine Knotenf
arbung von G = (V, E) mit k Farben ist eine
Abbildung c : V [k] mit {u, v} E c(u) 6= c(v). Die chromatische Zahl
von G ist das minimale k = (G), f
ur das eine Knotenfarbung existiert.
Satz 2.50 F
ur einen Graphen G gilt (G) = 2 genau dann, wenn G keine Kreise
ungerader L
ange enth
alt. Man nennt G dann bipartit.
Satz 2.51 (Vierfarbensatz) F
ur jeden planaren Graphen G ist (G) 4.
ALGORITHMUS: Greedy-F
arbung
Eingabe: Graph G = (V, E), wobei V = {v1 , , vn }.
Ausgabe: F
arbung c[v].
c[v1 ] 1;
for i from 2 to n do
c[vi ] min{k N : k 6= c(u) f
ur alle u (vi ) {v1 , , vi1 }};
9
Bemerkung. F
ur (G) := maxvV deg(v) erzeugt der Greedy-Algorithmus eine F
arbung mit C(G) Farben, wobei (G) C(G) (G) + 1 gilt.
Satz 2.53 (Brooks) Ist G = (V, E) zusammenhangend und G 6= Kn sowie
G 6= C2n+1 f
ur alle n N, so gilt (G) (G) und es gibt einen Algorithmus,
der in Laufzeit O(|V | + |E|) den Graphen mit (G) Farben farbt.
Defiinition 2.54 Eine Kantenf
arbung von G = (V, E) mit k Farben ist eine
Abbildung c : E [k] mit e f 6= c(e) 6= c(f ). Der chromatische Index
von G ist das minimale k = 0 (G), f
ur das eine Kantenfarbung existiert.
Satz 2.55 (Vizing) F
ur G = (V, E) gilt stets (G) 0 (G) (G) + 1 und es
gibt einen Algorithmus, der in Laufzeit O(|V ||E|) die Kanten mit k (G)+1
Farben f
arbt.
Definition 2.56 Ein Matching in G = (V, E) ist eine Teilmenge M E mit
e f = e 6= f in M . M heit perfektes Matching, falls |M | = |V2 | .
Satz 2.58 (Hall) Ist G = (A ]S
B, E) bipartit, so existiert genau dann ein Matching M mit |M | = |A|, falls | vX (v)| |X| f
ur alle X A gilt.
Korollar 2.60 Ein k-regularer bipartiter Graph G = (V, E) enthalt ein perfektes Matching und es gilt 0 (G) = k.
Korollar 2.61 Erf
ullt G = (A ] B, E) die Bedingung aus Satz 2.58, so lasst
sich ein Matching M mit |M | = |A| in der Zeit O(|V | |E|) bestimmen.
Definition 2.62 Ein Digraph ist ein Tupel (V, A) mit A V V .
Weitere Definitonen.
Sei im Folgenden D = (V, A) ein Digraph.
Ein Weg der L
ange ` ist ein Tupel (w0 , , w` ) mit (wi1 , wi ) A 1 i `.
Ein Pfad der L
ange ` ist ein Weg (w0 , , w` ) mit wi 6= wj 1 i 6= j `.
Ein Kreis der L
ange ` 3 ist ein Pfad (w1 , , w` ) mit (w` , w1 ) E.
Der zugrundeliegende Graph eines Digraphen D = (V, A) ist der Graph G =
(V, E) mit E = {{x, y} : (x, y) A (y, x) A}.
Bemerkung. Ein Digraph, der keine Kreise enthalt, heit azyklisch. Azyklische
Digraphen (und nur diese) kann man topologisch sortieren, also Knotennummern vergeben, so dass alle Kanten von kleineren zu groeren Nummern zeigen.
10
Wurzelb
aume
Thema oder nicht? (Nachfrage?)
11
Satz 3.19 F
ur a, m Z, m 2, ggT(n, m) = 1 hat ax b (mod m) f
ur jedes
b Z genau eine L
osung in Zm .
Satz 3.20 (Chinesischer Restsatz) F
ur b1 , , bk , m1 , , mk N, wobei alle
Qk
mi paarweise teilerfremd seien, gibt es f
ur m = i=1 mi genau ein x Zm mit
x bi (mod mi ) f
ur alle 1 i k.
Satz 3.21 (kleiner Fermat) F
ur alle n N \ {1} gilt:
n ist eine Primzahl an1 1 (mod n) a Zn \ {0}.
Bemerkung. Es gilt Zn := {a Zn \ {0} : ggT(a, n) = 1} und (n) = |Zn |.
Lemma 3.22 Ist
Q`
i=1
`
Y
(pi 1)pki i 1 .
i=1
Pn
i=0
a[i]xi , Stelle x0 R.
Satz 3.28 F
ur a, b K[x], b 6= 0 gibt es eindeutig bestimmte t, r K[x] mit
a(x) = t(x)b(x) + r(x) sowie r(x) = 0 grad(r) < grad(b).
Satz 3.29 Ein Polynom vom Grad n hat hochstens n Nullstellen.
Satz 3.31 (Fundamentalsatz der Algebra) Jedes Polynom p C[x] \ {0} vom
Grad n hat genau n (komplexe) Nullstellen.
Satz 3.33
ur f, g C[x], grad(g) < grad(f ) mit
Qr (Partialbruchzerlegung) F
f (x) = i=1 (1 i x)mi , i C, mi N 1 i r existieren gi C[x]
mit
r
gi (x)
g(x) X
=
und grad(gi ) < mi .
f (x)
(1
i x)mi
i=1
Ferner gilt: i R 1 i r f, g R[x] gi R[x] 1 i r.
13
Pn
Bemerkung. F
ur a = (a0 , , an ) sei pa das Polynom i=0 ai xi . Die diskrete
Fouriertransformierte von a an ist DFT(a, ) = (pa (1), pa (), , p( n )).
Umgekehrt ist die inverse diskrete Fouriertransformierte von b = (b0 , , bn )
zu definiert durch IDFT(b, ) = a, so dass pa ( i ) = bi f
ur alle 0 i n gilt.
Bemerkung. Eine Zahl heit n-te primitive Einheitswurzel, falls alle k f
ur
0 k < n paarweise verschiedene Nullstellen des Polynoms xn 1 sind.
1
n
DFT(a, 1 ).
Satz 3.38 Das Produkt zweier Polynome vom Grad hochstens n lasst sich in
Zeit O(n log n) berechnen.
Anwendung: CRC-Pru
fsummen
Sei a Z2 [x] das Polynom, dessen Koeffizienten dem Datenblock entsprechen,
g Z2 [x] das Generatorpolynom der CRC-Norm, p Z2 [x] das Polynom, dessen
Koeffizienten den Pr
ufbits entsprechen und b Z2 [x] das Polynom des Blocks.
p soll die Eigenschaft haben, dass b = a xk + p durch g teilbar ist, wenn k die
Anzahl der Pr
ufziffern ist. Die Pr
ufziffern berechnen wir also, in dem wir a xk
durch g teilen, denn der Rest dieser Division ist genau p.
14
15
ALGORITHMUS: Bin
are Suche
Eingabe: Aufsteigend sortiertes Feld a[1..n], Indizes 1 l r n, Element x.
Ausgabe: Index i mit a[i] = x; 0 falls alle Elemente a[l..r] ungleich x sind.
func Bin
areSuche(a, l, r, x);
if l = r then
if x = a[l] then
return(l);
else
return(0);
else
m l + b rl
2 c;
if x > a[m] then
return(Bin
areSuche(a, m + 1, r, x));
else
return(Bin
areSuche(a, l, m, x));
Satz 4.1 Die bin
are Suche braucht hochstens Bn Vergleiche, wobei
Bn = Bdn/2e f
ur n 2, B1 = 1
gilt. Die exakte L
osung der Rekursion lautet Bn = dlog2 ne + 1.
ALGORITHMUS: Mergesort
Eingabe: Feld a[1..n] von n Objekten, Indizes l, r, Wert Max > a[i] 1 i n.
Ausgabe: Feld a[1..n], wobei die Eintrage a[l..r] sortiert sind.
if Max = nil then begin
Max 0;
for i from 1 to n do
if a[i] > Max then Max a[i] + 1;
end
if r > l then
m l + b rl
2 c;
Mergesort(a, l, m, Max);
Mergesort(a, m + 1, r, Max);
for i from 0 to m l do b[i] a[l + i];
for i from 0 to r m 1 do c[i] a[m + 1 + i];
b[m l + 1] Max; c[r m] Max; i 0; j 0;
for k from l to r do
if b[i] c[j] then
a[k] b[i]; i i + 1;
else
a[k] c[j]; j j + 1;
endif
16
17
Sei f
ur den folgenden Algorithmus ein Rucksack mit einer Kapazitat B N gegeben und n Objekte
mit Gewichten
wi und Profiten
pi ,P
1 i n. Gesucht ist
P
P
P
ein I [n] mit iI wi B, iI pi = max{ iJ pi : iJ wi B, J [n]}.
Lemma 4.5 Ist f (i, t) das minimal mogliche Gewicht einer Packung mit Profit
p t, wobei nur die ersten i Elemente zur Verf
ugung stehen, gilt
f (i, t) = min{f (i 1, t), wi + f (i 1, t pi )}.
ALGORITHMUS: Berechnung des Wertes einer optimalen Packung
Eingabe: n, w1 , P
, wn , p1P
, , pn , B.
Ausgabe:
max{
p
:
i
iJ
iJ wi B, J [n]}.
Pn
p
p
;
i
i=1
for t from 1 to p1 do f [1, t] w1 ;
for t from p1 + 1 to p do f [1, t] ;
for i from 2 to n do
for t from 1 to p do
if t pi then
f [i, t] min{f [i 1, t], wi };
else
f [i, t] min{f [i 1, t], wi + f [i 1, t pi ]};
return max{t : f [n, t] B};
Satz 4.6 Der Algorithmus ist korrekt und hat eine Laufzeit von O(n2 pmax ) mit
pmax = maxi[n] pi .
ALGORITHMUS: Der Algorithmus von Kruskal
Eingabe: G = (V, E) zusammenhangend, Gewichtsfunktion
P w : E R.
Ausgabe: Spannbaum T = (V, ET ) minimalen Gewichts eET we .
ET ;
while T = (V, ET ) ist kein Spannbaum do
X {e E \ ET : (V, ET {e}) ist kreisfrei};
w
ahle emin X mit w(emin ) = mineX w(e);
ET ET {emin };
Satz 4.7 F
ur einen zusammenhangenden Graphen G = (V, E) mit Gewichtsfunktion w : E R berechnet der Algorithmus einen minimalen Spannbaum.
Definition 4.8 Ein Matroid M = (S, U) besteht aus einer endlichen Menge S
und einer Familie unabh
angiger Teilmengen U P(S), so dass gilt:
1. U.
2. A U, B A B U.
3. A, B U, |B| = |A| + 1 x B \ A : A {x} U.
Eine inklusionsmaximale Menge A U nennt man Basis.
Bemerke: Aus Bedingung 3 folgt sofort, dass f
ur Basen A, B stets |A| = |B| gilt.
18
ALGORITHMUS: Greedy-Algorithmus f
ur Matroide
Eingabe: Matroid M = (S,P
U), Gewichtsfunktion
P w : S R.
Ausgabe: Basis A U mit sA w(s) = min{ sB w(s) : B Basis}. A ;
while A ist keine Basis von M do
X {x S \ A : A {x} U};
w
ahle xmin X mit w(xmin ) = minxX w(x);
A A {xmin };
Satz 4.11 F
ur ein Matroid M = (S, U) mit Gewichtsfunktion w : S R findet
der Greedy-Algorithmus eine Basis minimalen Gewichts.
Bemerkung. Den Algorithmus von Kruskal erhalt man, wenn S die Kantenmenge eines zusammenh
angenden Graphen und U die Menge aller Walder ist.
Satz 4.12 Ist S eine endliche Menge und U P(S), so dass 1 und 2 aus
Definition 4.8 erf
ullt sind. Dann gilt: Bestimmt der Greedy-Algorithmus f
ur
jede Gewichtsfunktion w : S R eine inklusionsmaximale unabhangige Menge
minimalen Gewichts, ist (S, U) ein Matroid.
Rekursionsgleichungen
P
Definition 4.13 Eine Rekursionsgleichung xn = bk + i = 1k ai xn i n k
mit Anfangsbedingungen xi = bi 0 i < k heit lineare Rekursionsgleichung
k-ter Ordnung. F
ur bk = 0 nennt man diese homogen, ansonsten inhomogen.
Satz 4.15 Eine inhomogene lineare Rekursionsgleichung erster Ordnung
xn = axn1 + b1 f
ur n 1, x0 = b0 , a, b0 , b1 R
hat die geschlossene Form bzw. L
osung
(
n
1
b0 an + b1 aa1
xn =
b0 + nb1
f
ur a 6= 1,
sonst.
2
X
ai xni f
ur n 2, x1 = b1 , x0 = b0 , a1 , a2 , b0 , b1 R,
i=1
X
n
T (n) = f (n) +
T
+ ci (n) f
ur n 1,
i=1
so gilt
log
(n ),
T (n) = (f (n) log n),
(f (n)),
falls < ,
x,
falls = ,
T (x) = (1 + o(1)) x log x,
{log x}
log
x
, falls > .
Erzeugende Funktionen
Ist (an )n0 = (a0 , a1 , a2 , ) eine unendliche Folge, so ist
X
a0 + a1 x + a2 x2 + =
an xn
n0
n0
n0
Multiplikation / Faltung
ck =
k
X
ai bki n N0
i=0
an xn
n0
bn xn =
cn x n ,
n0
k0
bn x n =
bn xn = x`
an xn
0
sonst
n0
n0
n`
Verschiebung nach links
bk = ak+` k N0
X
n0
20
bn xn = x`
X
n`
an xn
Satz 4.22 Zu (an )n0 existiert genau dann, wenn a0 6= 0, ein (bn )n0 mit
X
X
an xn
bn xn = 1.
n0
n0
1
a0 , bn
1
a0
Pn
k=1
ak bnk f
ur n 1.
X
X
d X
an xn =
nan xn1 =
(n + 1)an+1 xn ,
dx
n0
n1
n0
n0
1, 1, 1,
0, 1, 2, 3,
an
1, a, a2 , a3 ,
n2
r
n
0, 1, 4, 9,
1, r, 2r , 3r ,
1, r + 1, r+2
2 ,
1
n
1, 1, 12 , 13 , 14 ,
1
n!
1
1, 1, 12 , 16 , 24
,
Hn
25
0, 1, 32 , 11
6 , 12 ,
r+n
r+3
3
n0
an xn nennt man
Folge
Potenzreihe
P
n
n0 x
P
n
n0 nx
P
n
n0 (ax)
P
2 n
n0 n x
n
P
r
n0 n x
P
r+n n
n0
n x
P
1 n
n1 n x
P
1 n
n0 n! x
P
n
n1 Hn x
A(x)
1
1x
x
(1x)2
1
1ax
x(1+x)
(1x)3
(1 + x)r
1
(1x)r+1
1
ln 1x
ex
1
1x
1
ln 1x
P
Satz 4.27 Die erzeugende Funktion von n0 Cn xn , wobei Cn die Catalan
2n
1
Zahlen sind, ist C(x) = xC(x)2 + 1 und es gilt Cn = n+1
n .
Satz 4.28 Quicksort ben
otigt zum Sortieren von n Zahlen im Durchschnitt
genau 2(n + 1)(Hn+1 1) Vergleiche.
21
Algebra
A = hS,
Definition 5.22 Wir nennen einen Homomorphismus zwischen zwei Algebren
A und A Isomorphismus, falls er bijektiv ist. Existiert eine solche Abbildung,
Einen Isomorphismus von
nennt man A und A isomorph, geschrieben A
= A.
A nach A nennt man auch Automorphismus auf A.
Lemma 5.26 Ein Isomorphismus bildet neutrale Elemente auf neutrale Elemente und inverse Elemente auf inverse Elemente ab.
so ist h1 ein IsomorLemma 5.27 Ist h ein Isomorphismus von A nach A,
phismus von A nach A.
22
Definition 5.28 Eine Algebra hS, i mit zweistelligem Operator heit Halbgruppe, falls assoziativ ist.
Definition 5.29 Eine Halbgruppe mit neutralem Element nennt man Monoid.
Definition 5.30 Ein Monoid heit Gruppe, falls jedes Element ein Inverses hat.
Definition 5.31 Ein(e) Halbgruppe/Monoid/Gruppe hS, i heit abelsch, falls
die Verkn
upfung kommutativ ist, also a b = b a a, b S gilt.
Definition 5.36 Eine Algebra A = hS, , i heit Ring, wenn
(R1) hS, i eine abelsche Gruppe mit neutralem Element 0 S ist,
(R2) hS, i ein Monoid mit neutralem Element 1 S ist,
(R3) a (b c) = (a b) (a c) (b c) a = (b a) (c a) a, b, c S.
Zu R3 sagt man: und sind distributiv.
Definition 5.37 Ein Ring A = hS, , i heit K
orper, wenn hS \ {0}, i eine
abelsche Gruppe ist.
Boolesche Algebren
Thema oder nicht? (Nachfrage?)
Gruppentheorie
Bemerkung. Wir vereinbaren a +n b := (a + b) mod n und a n b = (a b) mod n.
uglich n eine Gruppe.
Satz 5.48 F
ur alle n N \ {2} ist Zn bez
Satz 5.50 Die Rechenregeln f
ur Gruppen hG, i sind:
1. (Involutionsgesetz) a = (a1 )1 a G,
2. (K
urzungsregeln) a b = c b a = c b a = b c a, b, c G,
3. (Eindeutige L
osbarkeit linearer Gleichungen)
a x = b x = a1 b, x a = b x = b a1 a, b G,
4. (Injektivit
at von ) a b 6= c b a 6= c b a 6= b c a, b, c G,
5. (Surjektivit
at von ) a.b G x, y G : a x = b, y a = b.
Definition 5.51 Ist G eine Gruppe a G, so ist die Ordnung von a
ord(a) := min{r N : ar = e}.
Existiert kein solches r N, setzt man ord(a) := .
Lemma 5.53 Ist G eine Gruppe mit |G| < , so ist ord(a) < a G.
Lemma 5.54 Ist G eine Gruppe und a G, so gilt ak = e ord(a) | k.
23
Lemma 5.55 Ist G eine abelsche Gruppe und a, b G mit ord(a), ord(b) <
und ggT(ord(a), ord(b)) = 1, so ist ord(a b) = ord(a) ord(b).
Korollar 5.56 Ist G endlich und a G mit ord(a) = max{ord(b) : b G}, so
gilt ord(b) | ord(a) b G.
Definition 5.57 Eine Unteralgebra hH, i einer Gruppe hG, i heit Untergruppe von G, falls hH, i eine Gruppe ist.
Lemma 5.59 Das neutrale Element jeder Untergruppe ist das der Gruppe.
Lemma 5.60 Jede Unteralgebra einer endlichen Gruppe ist eine Untergruppe.
Lemma 5.61 Sind H und K Untergruppen von G, so auch H K.
Lemma 5.62 F
ur a G ist Sa := {ak : k N} die kleinste Untergruppe von
G, die a enth
alt.
Definition 5.64 Ist H G eine Untergruppe, b G, nennt man H b = {h b :
h H} bzw. b H = {b h : h H} rechte bzw. linke Nebenklasse von H in G.
Lemma 5.67 Ist H G eine Untergruppe, so gilt:
1. H h = H h H.
2. F
ur b, c G sind H b und H c entweder identisch oder disjunkt.
3. Ist H endlich, so gilt |H b| = |H| b G.
F
ur linke Nebenklassen gelten analoge Aussagen.
Korollar 5.68 Ist H G eine Untergruppe, bildet die Menge der Rechtsnebenklassen (und analog der Linksnebenklassen) von H eine Partition von G.
Definition 5.69 Die Anzahl der verschiedenen Nebenklassen von H in G nennt
man Index von H in G, geschrieben indG (H) oder [G : H].
Satz 5.70 (Lagrange) Ist H G eine Untergruppe, so gilt |G| = |H| indG (H).
Korollar 5.71 Ist G eine Gruppe, so teilt ord(a) |G| f
ur alle a G.
Definition 5.72 Eine Gruppe G heit zyklisch mit Generator a, falls G = Sa .
Satz 5.74 Alle zyklischen Gruppen sind isomorph zu hZ, +i oder hZ|G| , +|G| i.
Satz 5.76 Jede Untergruppe einer zyklischen Gruppe ist zyklisch.
24
1 X
fix(g) f
ur fix(g) = |{x X : g.x = x}|.
|G|
gG
Endliche K
orper
Thema oder nicht? (Nachfrage?)
25