asd sciaga drzewa 12czerwca

KOPIEC

Wstawianie elementu.

(1) Dowiązać nowy wierzchołek x do pierwszego z lewej wierzchołka na przedostatnim poziomie drzewa, którego rząd jest <2.

(2) Nadać nowemu wierzchołkowi etykietę e.

(3) Jeżeli tak otrzymane drzewo nie jest częściowo uporządkowane, to przechodząc wzdłuż drogi od liścia x do korzenia, poprawić etykiety zamieniając etykietę ojca z etykietą syna, jeśli etykieta ojca jest większa niż etykieta syna.

Usuwanie minimum.

e -etykieta liścia x znajdującego się najbardziej na prawo na ostatnim poziomie kopca

(1) Usunąć wierzchołek x z drzewa d.

(2) Zastąpić etykietę w korzeniu drzewa przez e.

(3) Jeśli tak otrzymane drzewo nie jest kopcem, to zaczynając od korzenia i idąc w kierunku liścia, zamieniać etykietę ojca z etykietą tego z jego synów, którego etykieta ma mniejszą wartość, tak długo aż zostanie otrzymane drzewo częściowo uporządkowane.

Wysokość kopca to lg n

Koszt insert i delmin

Koszt sortowania= O(n lg n) + n* O(lg n)= O(n lg n)

Koszt tworzenia tablicowo: O(n) n-liczba elementów


Drzewa rozpinające.

BFS

Włóż do kolejki wybrany wierzchołek grafu i zamarkuj go.

Dopóki kolejka nie jest pusta

1 . Weź pierwszy element z kolejki i dopisz do kolejki wszystkie wierzchołki z nim incydentne, o ile nie były zamarkowane i zamarkuj je.

2. Wypisz krawędzie, po których przeszedłeś do nowych wierzchołków.

3. Usuń pierwszy element z kolejki.


a







a

b

f






b

f

c

e





f

c

e






c

e

d






e

d







d


a

a

b

b

c

b

f

c

e

d

DFS

Włóż na stos wybrany wierzchołek grafu i zamarkuj go.

Dopóki stos nie jest pusty :

1 . Weź element ze szczytu stosu.
2 . Usuń ze stosu ten element.

3. Dopisz do stosu wszystkie wierzchołki z nim incydentne, których jeszcze nie zamarkowano, a dopisane wierzchołki zamarkuj.

4. Wypisz krawędzie, po których przeszedłeś do wierzchołków zamarkowanych w p.3.




e

d




f

c

c

c


a

b

b

b

b

b


a

a

f

f

e

b

f

c

e

d



Wyszukiwarka