Maciek - 2007-12-15 17:34:15

Pierwszy!

Co byście powiedzieli na taką strukturę? Skończony multizbiór S z operacjami?
Insert (S, x, k) - wstawia k egzemplarzy x
Delete(S, x, k) - usuwa k egzemplarzy x (albo wszystkie jak jest mniej niż k)
Max(S) - zwraca element o największej liczbie wystąpień

Czy da się wymyślić coś lepszego i prostszego od drzewo + kopiec?


//No i drugie zadanko. Wykaż, że żeby scalić k uporządkowanych list długości n,
//trzeba zrobić Omega(n k log(k)) porównań. Zaprojektuj algorytm.
//Wiem jak zrobić dowód, ale nie wiem jaki jest ten algorytm.
Już wiem! :))))

wojtek - 2007-12-16 14:24:09

dwa drzewa to coś istotnie prostszego niż drzewo + kopiec? :D

Maciek - 2007-12-16 15:18:26

A jak z dwoma drzewami byś to zrobił?

wojtek - 2007-12-16 16:06:07

dwa AVL, gdzie jeden posortowany po x, drugi po k. i kazdy węzeł ma powiązanie do odpowiadającego węzła w drugim drzewie

saf - 2007-12-16 19:52:09

Czy w ten sposób nie tracimy Max(S) w czasie stałym?

Maciek - 2007-12-17 23:22:31

Tak, tracimy.

A teraz z innej beczki? Czy mi sie wydaje czy mogę trzymać w węzłach drzewa BST wskaźniki do jego poprzednika/następnika? I łatwo je uaktualniać przy wstawianiu/usuwaniu? Bo szukam przeszkód, ale doszukać się nie mogę.

gelo - 2007-12-19 21:56:28

drzewo + kopiec = drzepiec! :)

Szczepan - 2008-01-17 16:40:38

LOL jakieś za przeproszeniem dziwne te zadania 0_o

www.abbeymount.pun.pl www.najlepszamuza.pun.pl www.olbifgroup.pun.pl www.shippuudenshinobi.pun.pl www.plemionalia.pun.pl