• Keine Ergebnisse gefunden

Beispiel 8

N/A
N/A
Protected

Academic year: 2021

Aktie "Beispiel 8"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Beispiel 8

F (z) :=

X

n≥0

2

n

z

n

= 1 1 − 2z G(z) :=

X

n≥0

nz

n

= z (1 − z)

2

⇒ F (z)G(z) = z

(1 − z)

2

(1 − 2z) =

X

n≥0 n

X

i=0

(n − i)2

i

z

n

EADS 7.3 Erzeugendenfunktionen 42/530

ľErnst W. Mayr

(2)

Partialbruchzerlegung:

z

(1−z)2(1−2z) =

(1)

z }| {

−2

(1−z)+ −z (1−z)2 +

(2)

z }| { 2 1−2z

=X

n≥0

2n+1zn

| {z }

(2)

−X

n≥0

nzn−2X

n≥0

zn

| {z }

(1)

;

Also:

n

X

i=0

2i(n−i) = [zn](F G)(z)

= [zn]

 X

n≥0

(2n+1−n−2)zn

(3)

7.4 Transformation des Definitions- bzw. Wertebereichs Beispiel 9

f

0

= 1 f

1

= 2

f

n

= f

n−1

· f

n−2

f¨ ur n ≥ 2 . Setze

g

n

:= log f

n

. Dann gilt

g

n

= g

n−1

+ g

n−2

f¨ ur n ≥ 2

g

1

= log 2 = 1, g

0

= 0 (f¨ ur log = log

2

) g

n

= F

n

(n-te Fibonacci-Zahl)

f

n

= 2

Fn

EADS 7.4 Transformation des Definitions- bzw. Wertebereichs 44/530 ľErnst W. Mayr

(4)

Beispiel 10

f

1

= 1 f

n

= 3f

n

2

+ n; f¨ ur n = 2

k

; Setze

g

k

:= f

2k

.

(5)

Beispiel 10 Dann gilt:

g

0

= 1

g

k

= 3g

k−1

+ 2

k

, k ≥ 1 Damit ergibt sich:

g

k

= 3

k+1

− 2

k+1

, also f

n

= 3 · 3

k

− 2 · 2

k

= 3(2

log 3

)

k

− 2 · 2

k

= 3(2

k

)

log 3

− 2 · 2

k

= 3n

log 3

− 2n .

EADS 7.4 Transformation des Definitions- bzw. Wertebereichs 45/530 ľErnst W. Mayr

(6)

Kapitel II H¨ ohere Datenstrukturen

1. Grundlegende Operationen

Es sei U das Universum von Schl¨ usseln mit einer (totalen) Ordnung ≤. S ⊆ U sei eine Teilmenge der Schl¨ ussel. Gegeben seien eine Menge von Datens¨ atzen x

1

, · · · , x

n

, wobei jeder Datensatz x durch einen Schl¨ ussel k(x) ∈ S gekennzeichnet ist.

Jeder Datensatz x besteht aus seinem Schl¨ ussel k(x) und seinem

eigentlichen Wert v(x).

(7)

IsElement(k, S ): ist k ∈ S, wenn ja, return v(k) Insert(k, S): S := S ∪ {k}

Delete(k; S): S := S \ {k}

FindMin(S): return min S FindMax(S): return max S DeleteMin(S): S := S \ min S

ExtractMin(S): return min S, S := S \ min S DecreaseKey(k, ∆, S): ersetze k durch k − ∆ Union(S

1

, S

2

): S

1

:= S

1

∪ S

2

Find(k): falls k ∈ S, so finde x mit k = k(x) Merge(S

1

, S

2

): S

1

:= S

1

∪ S

2

, falls S

1

∩ S

2

= ∅ Split(S

1

, k, S

2

): S

2

:= {k

0

∈ S

1

|k

0

≥ k}

S

1

= {k

0

∈ S

1

|k

0

< k}

Concatenate(S

1

, S

2

): S

1

:= S

1

∪ S

2

;

Vorauss.: FindMax(S

1

) ≤ FindMin(S

2

)

EADS 1 Grundlegende Operationen 47/530

ľErnst W. Mayr

(8)

Datenstrukturklasse mindestens angebo- realisiert in tene Funktionen

W¨ orterbuch IsElement(), Hashtable, (Dictionary) Insert(), Delete() Suchb¨ aume Vorrangwarteschlange FindMin(), Insert(), balancierte, leftist (Priority Queue) Delete(), B¨ aume, Binomial

[IsElement()] Queues Mergeable heaps FindMin(), 2-3-B¨ aume,

Insert(), Delete(), Binomial Queues, Merge() Leftist-B¨ aume Concatenable queues FindMin(), 2-3-B¨ aume

Insert(), Delete(),

Concatenate()

(9)

Definition 11

Bei einem

externen Suchbaum

werden die Schl¨ ussel nur an den Bl¨ attern gespeichert, die inneren Knoten enthalten Verwaltungsinformationen.

Bei

internen Suchb¨aumen

liegen die Schl¨ ussel an den internen Knoten, die Bl¨ atter sind leere Knoten. Zeiger auf Bl¨ atter sind daher NIL-Pointer und werden gew¨ ohnlich nicht angegeben.

EADS 1 Grundlegende Operationen 49/530

ľErnst W. Mayr

(10)

2. (Balancierte) Suchb¨ aume

Wir betrachten zun¨ achst zwei Familien h¨ ohenbalancierter externer Suchb¨ aume.

2.1 (a,b)-B¨ aume

Definition 12

Ein (a, b)-Baum ist ein externer Suchbaum mit folgenden Eigenschaften:

1

alle Bl¨ atter haben die gleiche Tiefe;

2

die Anzahl der Kinder eines jeden internen Knoten ist ≤ b und

≥ a (f¨ ur die Wurzel: ≥ 2);

3

es gilt b ≥ 2a − 1.

4

(a, b)-B¨ aume mit b = 2a − 1 heißen auch

B-B¨aume.

(11)

Bei jedem internen Knoten v mit d = d(v) Kindern werden d − 1 Schl¨ ussel k

1

, . . . , k

d−1

gespeichert, so dass (mit k

0

:= −∞, k

d

= +∞) gilt:

k

i−1

< alle Schl¨ ussel im i-ten Unterbaum von v ≤ k

i

.

Also z.B.: k

i

:= maximaler Schl¨ ussel im i-ten Unterbaum von v.

Weiter gilt (wie in jedem Suchbaum)

max{Schl¨ ussel im i-ten UB} ≤ min{Schl¨ ussel im i + 1-ten UB} .

EADS 2.1 (a,b)-B¨aume 51/530

ľErnst W. Mayr

(12)

Beispiel 13

1 2 3 4 5 6

1

A A

3 4 5

B B

A AA

2

l ll

!!!!!

(2, 4)-Baum

(13)

Lemma 14

Sei T ein (a, b)-Baum mit n Bl¨ attern und der H¨ ohe h (H¨ ohe definiert als Anzahl der Kanten auf einem Pfad von der Wurzel zu einem Blatt). Dann gilt:

1

2a

h−1

≤ n ≤ b

h

;

2

log

b

n =

loglognb

≤ h ≤ 1 + log

an2

. Beweis:

1

n ist maximal f¨ ur vollst¨ andigen Baum mit Verzweigungsgrad b und minimal f¨ ur einen Baum, wo die Wurzel Grad 2 und alle anderen internen Knoten Grad a haben.

2

folgt durch Umformung aus (1).

EADS 2.1 (a,b)-B¨aume 53/530

ľErnst W. Mayr

(14)

Operationen:

1. IsElement(k, S ) v := Wurzel von T ; while v 6= Blatt do

i = min{s; 1 ≤ s ≤ (#Kinder von v) + 1 und k ≤ k

s

};

v := i-tes Kind von v;

if k = k(v) then return v(k) else return false fi ;

Zeitbedarf: θ(h) = θ(log n)

(15)

2. Insert(k, S)

F¨ uhre IsElement(k, S) aus; Blatt w;

if k 6= k(w) then

co falls k < max S, enth¨ alt w den kleinsten Schl¨ ussel ∈ S, der > k ist oc

f¨ uge k if k < max S then links else rechts fi von w ein;

v := Vater von w;

if v hat nun mehr als b Kinder then Rebalancierung(v)

fi fi

EADS 2.1 (a,b)-B¨aume 55/530

ľErnst W. Mayr

(16)

4 5 7 3 6

1 2

A A

aa aa aa

1 3 4 5 7 8

1

A A

4 5 7

BB

A AA

3

l ll

!!!!!

2 6

2

(17)

Rebalancierung(v):

spalte v in zwei Knoten v

1

und v

2

, v

1

¨ ubernimmt die linke

” H¨ alfte“ der Kinder von v, v

2

den Rest; da a ≤ b b + 1

2 c ≤ d b + 1

2 e ≤ b und b ≥ 2a − 1 , erf¨ ullen v

1

und v

2

die Gradbedingung;

Vereinfachung: Falls ein unmittelbarer Nachbar

v

0

von v Grad

< b hat, ¨ ubernimmt v

0

das ¨ außerste linke/rechte Kind von v.

Falls nun der Vater u von v mehr als b Kinder hat, f¨ uhre Rebalancierung(u) aus;

Falls u die Wurzel des Baums ist, kann dadurch eine neue Wurzel geschaffen werden und die H¨ ohe des (a, b)-Baums wachsen.

Kosten O(log n)

EADS 2.1 (a,b)-B¨aume 57/530

ľErnst W. Mayr

Referenzen

ÄHNLICHE DOKUMENTE

Bei einem externen Suchbaum werden die Schl¨ ussel nur an den Bl¨ attern gespeichert, die inneren Knoten enthalten Verwaltungsinformationen.. Bei internen Suchb¨ aumen liegen die

2 In jedem von H’s Binomialb¨ aumen ist ein kleinster Schl¨ ussel an der Wurzel gespeichert; verlinkt man daher die Wurzeln aller Binomialb¨ aume von H in einer zirkul¨ aren Liste,

(a) Bestimmen Sie die Struktur der elliptischen Kurven (als Gruppen), die durch die Glei- chungen y 2 = x 3 + ax f¨ ur a = 1, 2, 3 ¨ uber F 17 gegeben sind (dazu ist die Software

Für das Aufstellen einer Stahlhalle benötigen 5 Metallbauer 16 Tage?. Wie lange würden 4 Metallbauer für die gleiche Arbeit

In diesem Szenario tauscht ein Dritter sowohl mit Alice als auch mit Bob einen geheimen Schl¨ ussel aus.. Alice glaubt, der Schl¨ ussel komme von Bob und Bob glaubt, der Schl¨

Soll in einen leeren Suchbaum ein Schl¨ ussel eingef¨ ugt werden, wird der leere Baum durch einen Knoten mit dem Schl¨ ussel ersetzt.. Dieser Knoten ist dann die Wurzel

• Komplexit ¨atstheoretische Sicherheit, wenn pseudo-zuf ¨allige Folge nicht von einer echt zuf ¨alligen Folge effizient unterschieden werden kann..

Da sie Angst haben, dass ihre Nachrichten mitgelesen werden, kreieren sie dazu einen geheimen Schl ¨ussel mithilfe des Diffie-Hellman Schl ¨usselaustausches.. Sei G = (Z/77, +)