Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Полезная методичка

.pdf
Скачиваний:
82
Добавлен:
01.04.2014
Размер:
1.09 Mб
Скачать

è

3h+1

1

+ 3h+1 =

3h+1 + 2 3h+1

1

=

3 3h+1

1

=

3h+2

1

2

 

 

2

 

 

2

 

 

2

 

получ м тр у мо н р нст о:

h+2 1

2h+2 1 nh+1 3 2 :

2

Á î û îï ð öèè í 2-3 ð üÿìè

Êî ûì îï ð öèÿì í 2-3 р ьями относятся:

1.Поиск эл м нт с нным ключом (поиск миним льно о, м ксим льно о эл м нт ).

2.До л ни эл м нт с нным ключом.

3.У л ни эл м нт с нным ключом.

Поиск эл м нт с нным ключом a

1.Пусть root êîð íü 2-3 ð . Ïîë ì t = root .

2.Ïîê t н лист, по торя м сл ующую посл о т льность ш о :

ñëè a l(t) , òî t := ls(t) ;

èí ÷ , ñëè a s(t) èëè rs(t) = 0 (у ршины только

ñûí ), òî t := ss(t) ;

èí ÷ , t := rs(t):

3.Ср ни м ключ о н ч ни исяч й ршины t с ключом a ; сли они со п ют, то ршин н й н , проти ном слу- ч ршины с нным ключом a ð í ñóù ñò ó ò.

До л ни эл м нт с ключом a

Пр поло им, что н м н о хо имо о ить ршину с ключом aн пусто р о (им тся хотя ы о ин эл м нт).

161

1.Если р о состоит и инст нной ршины w ( key(w) ключ ршины w ), òî

(a)о р у м но ую ршину v (лист) с ключом key(v) := a ;

(b)î ð ó ì íî ûé êîð íü r ;

(c)ñëè key(w) < key(v) , òî ïîë ì w è v л ым и пр -ым сыном корня r соот тст нно; проти ном случ w è v ïð ûé è ë ûé ñûí r ;

(d)формиру м м тки ршины r .

 

 

 

 

 

 

r

 

3

-

 

 

ÆJ

 

 

 

 

 

2

 

 

 

2

J

 

Æ

 

 

Æ

3

Æ

 

 

 

 

 

2. ð îë î íî î ó ë .

(a)Осущ ст ля м поиск отц f ëÿ íî ü î ëÿ ìîé ð- øèíû v ñ êëþ÷ ûì í ÷ íè ì a (это у т от ц ршины t опис нной проц ур поиск эл м нт с нным ключом a ).

(b)Формиру м но ый лист v è ïîë ì key(v) := a .

(c)Опр ля м по ицию ршины v по отнош нию к отцу.

Åñëè ó îòö f ыло только сын v1 è v2

è

 

ñëè

key(v) < key(v1) , òî

v; v1; v2 ;

 

 

 

ñëè

key(v) > key(v2) , òî

v1; v2; v ;

 

 

 

ñëè

key(v1) < key(v) < key(v2) , òî

v1; v; v2 ;

Åñëè ó

îòö

f

ó

ûëî

òðè

ñûí

v1; v2; v3 ,

òî

н ло ичным о р ом опр ля м по ицию v

ïî

отнош нию

ê

îòöó,

ê ê

î íó

и сл ующих:

v; v1; v2; v3; v1; v; v2; v3; v1 ; v2; v; v3; v1; v2; v3 ; v .

(d)Åñëè ó îòö f ыло только сын v1 è v2 , то соот тст ии с н й нной конфи ур ци й, уст н ли м

162

ля ршины f ссылки н л о о, пр о о и ср н о сын и корр ктиру м м тки ршин оль пути от корня к о л нной ршин v . Êîí ö ïðîö óðû î ë íèÿ.

1:2f

 

 

 

"

 

1:2f

ÆL

 

 

 

 

 

Æ

7

-

 

 

 

"

l

 

 

 

 

 

L

 

 

"

 

 

 

l

 

 

 

 

 

l

 

 

 

 

 

 

L

 

 

 

2 7

 

 

 

"

 

 

 

 

1Æ 2Æ

 

1Æ Æ Æ

(e)Åñëè ó îòö f ó ûëî òðè ñûí v1; v2; v3 , то у мыполнять сл ующи йст ия:

 

В соот тст ии с н й нной конфи ур ци й (пр -

 

ïîëî èì, ëÿ

опр л нности,

÷òî îí ð í

 

v1; v; v2; v3 , ò. .

key(v1) < key(v)

< key(v2) < key(v3)

о р у м но ую ршину v0 , сыно ьями которой я - ляются м ксим льны ршины и н й нной конфи ур ции, сыно ьями ршины f миним льны ршины (см. рис.5.2.8.).

 

0

fÆT

v ÆT

T

v2 Tv

v1ÆvÆ

Æ 3Æ

Ðèñ. 5.2.8.:

Пусть f0 от ц ршины f .

Если у ршины f í ò îòö ( f êîð íü), òî î ð ó ì íî ûé êîð íü r0 è í í ÷ ì f è v0 л ым и ср ним сыно ьями корня r0 и, соот т- ст нно, ысот р у личи тся н иницу. Корр ктиру м м тки и рш м проц уруо л ния эл м нт .

163

r0 TTl

f n v0 m

Åñëè ó ó ë f ñòü îò ö f0 , опр ля м конфи-ур цию сыно й f0 и ршины v0 сл ующим о р ом: у л v0 ñë ó ò í ïîñð ñò ííî ó -

ëîì f . Ïîë ì f = f0; v = v0 è ï ð õî èì ê ø ó (d) л оритм .

Н рис.5.2.9.-5.2.11. при н прим р о л ния 2-3 р оршин с ключ ми 4,8,6 .

Тру о мкость л оритм о л ния эл м нт с нным клю- чом исит от о щ о колич ст о л ний ршин (н ч льнойршины v è ðøèí v0 , о л ни которых потр о лось ля по р ния ин ри нто 2-3 р ). Оч и но, что колич ст оо ля мых ршин н пр осхо ит ысоты р h , ò ê ê ê í ê îì ñë óþù ì ø î ëÿ òñÿ ðøèí í îëüø é ûñîò . Ê ê ñë ó ò è ò îð ìû 5.2.2. ûñîò 2-3 ð ñ n листьями н пр осхо ит log n , и т к к к ля о л ния о ной ршины тр у-тся кон чно число оп р ций, то сло ность л оритм о л ния но о о эл м нт 2-3 р о сть O(log n) .

Óïð í íè .

Ïîê òü, ÷òî ñèòó öèè, è î ð ííîé í ðèñ.5.2.8., ì òêè íî-ûõ ðøèí f è v0 мо ут ыть н й ны н осно нии только м токршин f; f0 (отц ршины f ) è ì êñèì ëüíî î í ÷ íèÿ êëþ÷2-3 ð .

У л ни эл м нт с ключом a

1.Н й м ршину v с ключом key(v) = a .

2.Пусть f от ц ршины v . У ля м ршину v .

3.Åñëè v ыл корн м, то получ м пусто р о и рш м проц уру у л ния.

4.Если у ршины f ост лось сын (это опустимо ля 2-3р ), то опр ля м конфи ур цию сыно й ршины f , формиру м м тки ршин и рш м проц уру у л ния.

164

 

 

 

 

 

5:9

 

 

 

 

 

 

 

 

 

ÆXXX

 

 

 

 

 

 

 

 

 

 

 

XX

 

 

 

 

 

 

 

7:9

D

 

X

X 11:13

1:3

 

D

 

 

 

"

Æ

 

Æ

 

 

Æ

"

 

Z

 

 

 

D

 

 

C

Z

 

 

 

 

 

 

 

 

 

Z

"

 

 

Z

 

 

 

 

 

 

1

 

 

Z

 

 

 

 

 

 

 

D

 

 

C

 

Z

 

 

3

 

5

7

9

11

13

15

Æ

 

 

 

 

 

 

 

 

 

 

 

 

Æ

 

 

 

Æ ÆÆ

 

 

 

 

 

ÆÆÆ

 

 

 

 

 

 

 

5:9

 

 

 

 

 

 

 

 

 

 

 

 

ÆXXX

 

 

 

 

 

 

 

 

 

 

 

XX

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

XX

11:13

 

 

 

 

 

 

 

D

 

 

 

 

 

v

 

 

 

 

 

1:3

 

 

4:5

 

7:9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Æ

 

 

"

"

Æ Æ ÆL

 

 

 

 

"

 

 

D

 

L

 

 

 

D

Z

Z

 

1

 

D

 

 

 

 

D

Z

 

 

 

 

5

7

9

 

 

 

Æ

3 4

 

 

 

 

 

 

 

 

 

 

Æ Æ ÆÆ

11

 

13

15

 

 

 

Æ

 

 

 

 

Æ ÆÆ

Рис. 5.2.9.: До л ни ршины с ключом 4 2-3 р о.

165

 

 

 

 

 

 

5:15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(((

 

 

 

 

 

 

 

 

 

 

 

 

 

(

XX

X

(X

9:15

 

 

 

 

3:5

Æ

 

 

1:3

 

 

 

 

 

 

(

b

 

11:13

 

 

 

Æ 7:9

 

 

 

Æ

 

 

 

 

 

 

4:5

ÆA

 

Æ

 

 

 

 

 

 

"

 

 

Æ

 

 

 

Z

 

 

 

 

 

 

 

 

 

 

"

 

 

 

 

B

 

 

 

Æ

 

 

 

 

 

 

 

 

 

 

 

 

C

 

Z

 

"

 

 

 

 

 

 

 

B

 

 

 

C

 

1 A

Z

 

 

 

3

4

9

 

11

13

 

 

Æ

 

 

5

7

 

 

 

15

ÆÆÆÆ Æ Æ ÆÆ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5:15

 

 

 

 

 

 

 

 

 

 

 

 

((((

XXX

 

9:15

 

 

 

3:5

Æ X(

 

 

1:3

 

Æ

 

 

(

b

11:13

 

 

 

7:8

 

 

 

Æ

 

 

 

 

4:5

 

Æ\

 

 

 

 

 

"

"

 

Æ ÆA

 

 

 

ÆZ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E

 

 

 

 

 

 

 

 

 

 

 

 

E

Z

 

 

 

 

 

 

 

 

 

 

"

 

 

 

 

 

 

 

 

 

 

1

 

3

 

 

 

 

 

 

 

Æ

 

 

A

 

\

 

 

 

 

 

Z

 

 

4

5

 

8

9

 

11

Æ

 

 

 

ÆÆ

Æ

 

 

 

 

 

 

 

 

 

Æ

 

ÆÆ Æ Æ

Рис. 5.2.10.: В рху 2-3 р о посл о л ния ршины с клю- чом 5. Вни у 2-3 р о посл о л ни ршины с ключом 8.

166

 

 

3:5

 

 

5:15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Æbbb7:9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

ÆA

 

 

 

 

 

Æ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

H

H

HH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1:3

 

6:7

 

 

 

 

 

 

A 4:5

 

 

 

 

 

8:9

 

H 11:13

 

 

ÆD

ÆA

ÆL

 

Æ %

 

Æ

 

 

 

A

 

 

 

 

 

 

@

 

 

D

 

 

A L

 

 

A

 

 

%

 

 

 

@

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

5

 

6

7

 

 

 

 

3

 

 

 

 

8

 

 

 

 

 

 

 

 

 

1

 

 

 

Æ

 

 

 

9 11

 

13

15

 

 

ÆÆ ÆÆ

 

 

 

 

 

 

 

 

Æ

Æ

 

 

 

 

 

 

 

ÆÆ Æ Æ

Рис. 5.2.11.: 2-3 р о посл о л ния ршины с ключом 6.

5. Если у ршины f ост лся только о ин сын v1 , òî

сли f кор нь, то ршину v1 л м корн м, формиру м м тки и рш м проц уру у л ния;

ñëè f í êîð íü, òî îí îë í èì òü ïî êð éí é ì ð î íî î ð ò g :

ïð ïîëî èì, ÷òî ð ò g í õî èòñÿ ñë îò í î è

у g только сын : w1 и w2 , то л м v1 пр -ым сыном ршины g ; пол м v = f и п р хо им к ш у 2 л оритм ;

 

 

 

f

 

g

 

 

Æ

Æ

 

 

e

 

 

 

e

 

 

w

2 v1

 

w1Æ

e

 

 

Æ Æ

ñëè ó ð ò

g òðè ñûí : w1; w2 ; w3 , òî ñ ìî î ïð -

î î ñûí w3

л м л ым сыном ршины f , v1

ср ним сыном, формиру м м тки и рш м проц уру у л ния эл м нт ;

167

 

,

 

f

g

,

 

@

 

 

 

 

 

 

 

 

ÆA

ÆA

 

A

 

 

A

 

 

 

A

 

 

 

A

 

A

 

 

 

 

 

w1

w2

Æ Æ

Æ

 

Æ

пр поло им, что р т н хо ится спр от н о; с- ли у g только сын : w1 и w2 , то л м v1 л ым сыном ршины g , w1; w2 ср ним и пр -ым сыно ьями; пол м v = f и п р хо им к ш у 2 л оритм ;

сли у р т g три сын : w1; w2; w3 , то опр ля м v1; w1 к к л ый и ср ний сын ршины f , опр - ля м w2; w3 к к л ый и ср ний сын ршины g ; формиру м м тки и рш м проц уру у л ния эл м нт ;

Н рис.5.2.12. - 5.2.13. посл о т льно пок ны ш и, которы н о хо имо ыполнить ля у л ния эл м нто с ключ ымин ч ниями 3,5,9,11 и р .

Тру о мкость л оритм у л ния ршины v исит от о - щ о колич ст у ля мых ршин (н ч льной ршины v и т хршин, у л ни которых потр о лось ля по р ния ин - ри нто 2-3 р ). О щ колич ст о у ля мых ршин н пр -осхо ит ысоты р , т к к к н к ом оч р ном ш л-оритм происхо ит у л ни ршины н ольш й ысот . К к сл у т и т ор мы 5.2.2. ысот 2-3 р с n листьями н пр -осхо ит log n , и т к к к у л ни о ной ршины ыполня тся кон чно число ш о , то сло ность л оритм у л ния эл м нт и 2-3 р сть O(log n) .

168

 

 

 

 

 

 

5:15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3:5

 

 

 

Æaaa 7:9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

aa

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

!!

a

 

 

 

 

 

 

 

 

 

 

Æe

 

 

 

 

 

 

 

Æa

 

 

 

 

 

 

 

 

 

1:3

 

 

 

 

 

 

6:7!!

 

 

!

 

aa

 

aa 11:13

 

e1:4

 

 

 

 

 

 

8:9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Æ

 

 

Æe

 

 

ÆA

 

 

 

ÆT

 

 

 

 

 

 

 

 

@

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

%

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

%

 

 

 

 

 

 

11

 

 

 

 

 

 

 

%

 

 

e

 

 

A

 

 

 

 

 

T

 

 

 

 

 

 

 

 

 

 

@

1 4 5

 

6

7 8

9

 

Æ

 

 

 

 

 

 

ÆÆÆ

 

 

 

Æ Æ

 

 

 

 

 

Æ Æ

 

 

 

 

Æ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Æ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7:15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Æaa

 

9:15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

aa

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5:7

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

Æa

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

a

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1:4

 

e

6:7

 

 

 

 

 

8:9

 

aa 11:13

 

 

 

 

 

Æe

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

%

 

 

ÆA

 

 

 

ÆT

 

 

 

 

 

 

 

@

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Æ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

%

 

 

 

 

 

11

 

 

 

 

%

 

 

e

 

 

A

 

 

 

 

 

 

T

 

 

 

 

 

 

 

 

 

@

1 4

5

 

6

7 8

9

 

 

Æ

 

 

 

 

 

 

ÆÆÆ

 

 

 

Æ Æ

 

 

 

Æ Æ

 

 

 

Æ

 

 

 

 

 

 

 

 

 

 

 

 

 

Æ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 5.2.12.: У л ни эл м нт с ключом 3 и 2-3 р .

169

 

 

 

 

 

 

 

7:15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Æaa

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

aa

 

 

 

 

 

 

 

 

 

 

4:7

 

 

 

 

a 11:15

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

Æa

 

 

 

 

 

 

 

 

 

 

e

 

 

 

a

a

 

 

 

 

 

 

 

 

 

 

 

 

1:4

 

e

6:7

 

 

 

8:11

 

aa 13:15

 

 

 

 

 

 

Æ

 

 

 

 

 

 

 

 

 

 

 

 

 

%

 

 

 

ÆA

ÆT

 

 

@

 

 

 

 

 

 

%

 

 

 

 

 

 

Æ

 

 

 

 

 

 

 

 

A

 

 

 

T

 

 

@

 

%

 

 

 

 

 

 

 

11 13

 

 

 

 

 

 

 

 

 

 

15

4

 

6

 

 

8

 

 

 

Æ

Æ

1

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

Æ

 

Æ

 

Æ Æ

 

 

 

 

 

 

 

Æ

 

 

 

 

 

 

Æ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4:7

 

 

 

 

 

 

 

 

 

 

1:4 """""

 

n

 

 

 

 

 

 

 

 

 

 

 

QQQQ 8:13

 

 

 

 

 

 

 

 

6:7

 

 

Q

 

 

 

 

 

 

 

 

Q

 

 

 

 

 

"

 

ÆA

ÆT c

 

 

 

 

% Æ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

8 13 15

 

 

 

%

 

 

 

 

 

 

 

A

 

 

 

T

c

 

 

 

%

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

6

7

 

 

 

 

 

Æ

 

 

ÆÆ

 

ÆÆÆ Æ

 

 

Ðèñ. 5.2.13.: Ó ë íè ýë ì íòî ñ êëþ÷ ìè 5,9,11 è 2-3 ð .

170

Соседние файлы в предмете Структуры и алгоритмы обработки данных