dynamizacja

W informatyce dynamizacja to proces przekształcania statycznej struktury danych w dynamiczną. Chociaż statyczne struktury danych mogą zapewniać bardzo dobrą funkcjonalność i szybkie zapytania, ich użyteczność jest ograniczona ze względu na ich niezdolność do szybkiego wzrostu/kurczenia się, przez co nie nadają się do rozwiązywania dynamicznych problemów, w których dane wejściowe się zmieniają . Techniki dynamizacji zapewniają jednolite sposoby tworzenia dynamicznych struktur danych.

Rozkładalne problemy wyszukiwania

Definiujemy problem dopasowania predykatu zbiorze jako S Problem jest , zbiór można rozłożyć na podzbiory ujednolicenia że .

Rozkład

Dekompozycja to termin używany w informatyce do rozbijania statycznych struktur danych na mniejsze jednostki o nierównej wielkości. Podstawową zasadą jest idea, że ​​dowolną liczbę dziesiętną można przetłumaczyć na reprezentację w dowolnej innej podstawie. Aby uzyskać więcej informacji na ten temat, zobacz Dekompozycja (informatyka) . Dla uproszczenia w tym artykule zostanie użyty system binarny, ale można również wykorzystać dowolną inną podstawę (a także inne możliwości, takie jak liczby Fibonacciego ).

W przypadku korzystania z systemu binarnego zbiór elementów jest dzielony na podzbiory rozmiarów z

elementy, gdzie jest bitem systemie binarnym. Oznacza to, że jeśli równy -th bit equal to 0, the corresponding set does not contain any elements. Each of the subset has the same property as the original static data structure. Operations performed on the new dynamic data structure may involve traversing sets formed by decomposition. As a result, this will add factor as opposed to the static data structure operations but will allow insert/delete operation to be added.

Kurt Mehlhorn udowodnił kilka równań na złożoność czasową operacji na zdynamizowanych zgodnie z tą ideą strukturach danych. Niektóre z tych równości są wymienione.

Jeśli

  • to czas na zbudowanie statycznej struktury danych
  • to czas na zapytanie statycznej struktury danych
  • to czas na zapytanie dynamicznej struktury danych utworzonej przez rozkład
  • to zamortyzowany czas wstawiania

Następnie

Q jest co najmniej wielomianem , to .

Dalsza lektura