Jak Opisać Zestaw

Spisu treści:

Jak Opisać Zestaw
Jak Opisać Zestaw

Wideo: Jak Opisać Zestaw

Wideo: Jak Opisać Zestaw
Wideo: 11. Jak opisać zestaw? 2024, Listopad
Anonim

Jednym z rodzajów struktur danych, które są bezpośrednim ucieleśnieniem bytów matematycznych w informatyce, są zbiory. Operacje z nimi często leżą u podstaw różnych algorytmów. Różne języki programowania mają swoje własne sposoby opisywania zbiorów.

Jak opisać zestaw
Jak opisać zestaw

Niezbędny

  • - środowisko rozwoju;
  • - tłumacz z wybranego języka programowania.

Instrukcje

Krok 1

Opisz zestaw za pomocą języka programowania, jeśli jest dostępny. Na przykład w języku Pascal istnieje konstrukcja zestawu, która pozwala zadeklarować odpowiednie typy. To prawda, że objętość takich zestawów nie powinna przekraczać 256 elementów. Przykład deklaracji typu zestawu może wyglądać tak:

rodzaj

AZLitery = zbiór 'A'.. 'Z';

AllLetters = zestaw znaków;

Zmienne i stałe typów będących zestawami są deklarowane w zwykły sposób. W takim przypadku do inicjalizacji można użyć literałów zestawu. Na przykład:

stały

ZestawLiter1: Litery AZ = ['A', 'B', 'C'];

Krok 2

Wykorzystaj możliwości standardowych bibliotek lub modułów do opisania zestawów. Tak więc biblioteka szablonów C++, która powinna być dostarczona wraz z kompilatorem, zawiera szablon dla klasy kontenera zestawu, który implementuje funkcjonalność zestawów:

szablon <

klucz klasy, cechy klasowe = mniej, klasa Alokator = alokator

zestaw klas

Jak widać z listingu, argumentami szablonu zestawu są: typ danych elementów zestawu, typ obiektu funkcjonalnego określający kolejność elementów w zestawie oraz typ alokatora pamięci. W tym przypadku wymagany jest tylko pierwszy argument (podobnie jak dwa pozostałe, domyślnie używany jest standardowy predykat binarny less i standardowy alokator).

Krok 3

Zastosuj klasy lub szablony klas używane w tworzeniu frameworków, które implementują funkcjonalność pracy z zestawami, jeśli takie istnieją. Przykładem takiego narzędzia jest klasa szablonów QSet modułu QtCore biblioteki Qt. Jego możliwości są podobne do opisanego w poprzednim kroku kontenera zestawu STL.

Krok 4

Opisz zestaw własnymi środkami implementacyjnymi. Używaj flag bitowych, przechowywanych w tablicach o stałej długości, dla zestawów elementów prostych typów i małych rozmiarów. Zaimplementuj ustawioną klasę kontenera dla złożonych typów danych. Jako podstawę można przyjąć funkcjonalność tablic asocjacyjnych lub haszujących tablice asocjacyjne. To z kolei może być zbudowane na podstawie samobilansujących się drzew binarnych wyszukiwania (np. czerwono-czarne drzewa).

Zalecana: