Typ abstrakcyjny



Informacje, które udało nam się zgromadzić na temat Typ abstrakcyjny, zostały starannie sprawdzone i uporządkowane, aby były jak najbardziej przydatne. Prawdopodobnie trafiłeś tutaj, aby dowiedzieć się więcej na temat Typ abstrakcyjny. W Internecie łatwo zgubić się w gąszczu stron, które mówią o Typ abstrakcyjny, a jednocześnie nie podają tego, co chcemy wiedzieć o Typ abstrakcyjny. Mamy nadzieję, że dasz nam znać w komentarzach, czy podoba Ci się to, co przeczytałeś o Typ abstrakcyjny poniżej. Jeśli informacje o Typ abstrakcyjny, które podajemy, nie są tym, czego szukałeś, daj nam znać, abyśmy mogli codziennie ulepszać tę stronę.

.

W informatyce , abstrakcyjny typ (w jzyku angielskim, abstrakcyjny typ danych lub ADT ) jest matematycznym okrelenie zestawu danych i zestaw operacji, które mona wykona na nich. Ten typ danych jest nazywany abstrakcyjnymi, poniewa odpowiada specyfikacji, któr musi nastpnie zaimplementowa struktura danych .

Przykady

Najczciej uywane typy abstrakcyjne to:

Struktura

Typ abstrakcyjny skada si z piciu pól [ref. konieczne]  :

  • Typ abstrakcyjny;
  • Uywa;
  • Operacje;
  • Warunki wstpne;
  • Aksjomaty.

Te pi elementów czsto czy si skrótem: TUOPA .

Typ abstrakcyjny

Pole Typ abstrakcyjny zawiera nazw opisywanego typu i ewentualnie okrela, czy nie jest to rozszerzenie innego typu abstrakcyjnego. Na przykad, napiszemy Typ abstrakcyjny: Stos, aby utworzy typ o nazwie Stos, który opisuje, czym jest stos, oraz Typ abstrakcyjny rozszerzenia: Stos, jeli chcemy go rozszerzy (Typ abstrakcyjny rozszerzamy przez przypisanie nowych operacji niezdefiniowanych w pierwszej specyfikacji).

Uywa

Pole Uyj zawiera typy abstrakcyjne, których uyjemy w opisywanym. Na przykad typ abstrakcyjny Stack, który zdefiniujemy, uyje w swojej specyfikacji typu abstrakcyjnego Boolean , a my napiszemy Use: Boolean  .

Operacje

Pole Operacje zawiera prototypowanie wszystkich operacji. Przez prototypowanie rozumiemy opis operacji poprzez ich nazw, argumenty i zwrot.

Operacje s podzielone na kilka typów:

  • z konstruktory (uywany do tworzenia typ obiektu, który jest ustawiany);
  • transformatory (pozwalaj modyfikowa obiekty i ich zawarto);
  • e obserwatorzy (w zalenoci udzielanie informacji o stanie obiektu).

Przykad operacji dla typu Abstract type: Stack:

             créer :  Pile

Zauwa, e operacja create jest konstruktorem . Rzeczywicie, ta funkcja tworzy obiekt typu stos . Ponadto do utworzenia tego stosu nie jest potrzebny argument . Wskazuje na to brak wskazania po lewej stronie strzaki.

Warunki wstpne

Pole Warunki wstpne zawiera warunki, które naley speni na argumentach operacji, aby mogy zachowywa si normalnie. Moemy tu mówi o zestawie definicji operacji.

Aksjomaty

Pole Axioms zawiera seri aksjomatów opisujcych zachowanie kadej operacji typu abstrakcyjnego. Kady aksjomat jest prawdziwym zdaniem logicznym.

Skomentowany przykad: stos

Pamitaj, e stos to prosta struktura danych , zgodna z zasad LIFO (Last In First Out), co oznacza, e zawsze mamy dostp do ostatniego elementu, który wanie dodalimy do tej struktury.

Typ abstrakcyjny: stos

Uyj: Boolean, Element

Operacje:

utwórz: Stos

stack: Stack Element Stack

góra: Element stosu

reszta: Bateria Bateria

isEmpty: stos logiczny

Wstaw koniec: element baterii Bateria

Pod uwag brane s tutaj podstawowe operacje na stosie , a take operacja insertEnd umoliwiajca wstawienie elementu na kocu stosu (operacja ta pozwoli na przedstawienie rekursji w typie abstrakcyjnym). Symbol     oznacza, e operacja podlega warunkom wstpnym.

Tutaj mamy konstruktora: create  ; trzy transformatory: stack , rest i insertEnd  ; i dwóch obserwatorów: vertex i estVide . Operacja na stosie jest uwaana przez niektórych za konstruktor, poniewa widzimy, e dowolny stos ma posta create () lub stack (p, e).

Warunki wstpne: p Bateria

zdefiniowany (wierzchoek (p)) jest pusty (p)

zdefiniowana (reszta (p)) jest pusta (p)

Te warunki wstpne odpowiadaj temu, e nie mona zobaczy góry ani zabra pozostaej czci pustego stosu .

Aksjomaty: p Stos i e, f Element

(P1) wierzchoek (stos (p, e)) = e

(P2) reszta (stos (p, e)) = p

(P3) jest puste (create ()) = true

(P4) jest puste (stos (p, e)) = fasz

(P5) insertEnd (create (), e) = stack (create (), e)

(P6) insertEnd (stack (p, f), e) = stack (insertEnd (p, e), f)

Uwagi i odniesienia

  1. Manfred Broy, Martin Wirsing i Claude Pair ,   Systematyczne badanie modeli abstrakcyjnych typów danych  , Theoretical Computer Science , vol.  33,, s.  139-174
  2. Sébastien Veigneau , Imperatywne i funkcjonalne podejcie do algorytmów: aplikacje w C i CAML Light , Springer Science & Business Media,( czytaj online )
  3. http://pageperso.lif.univ-mrs.fr/~denis.lugiez/Enseignement/L2/Cours/cours4.pdf

Zobacz te


Mamy nadzieję, że informacje, które zgromadziliśmy na temat Typ abstrakcyjny, były dla Ciebie przydatne. Jeśli tak, nie zapomnij polecić nas swoim przyjaciołom i rodzinie oraz pamiętaj, że zawsze możesz się z nami skontaktować, jeśli będziesz nas potrzebować. Jeśli mimo naszych starań uznasz, że informacje podane na temat _title nie są całkowicie poprawne lub że powinniśmy coś dodać lub poprawić, będziemy wdzięczni za poinformowanie nas o tym. Dostarczanie najlepszych i najbardziej wyczerpujących informacji na temat Typ abstrakcyjny i każdego innego tematu jest istotą tej strony internetowej; kierujemy się tym samym duchem, który inspirował twórców Encyclopedia Project, i z tego powodu mamy nadzieję, że to, co znalazłeś o Typ abstrakcyjny na tej stronie pomogło Ci poszerzyć swoją wiedzę.

Opiniones de nuestros usuarios

Lucas Sienkiewicz

Zawsze dobrze jest się uczyć. Dziękuję za artykuł o zmiennej Typ abstrakcyjny

Lena Marzec

Ładny artykuł z _zmienna.

Zuzanna Augustyniak

Uważam, że ten wpis o zmiennej Typ abstrakcyjny jest sformułowany bardzo ciekawie, przypomina mi lata szkolne. Jakie piękne czasy, dzięki za sprowadzenie mnie do nich.