W tym artykule dowiemy się o ADT, ale zanim zrozumiemy, czym jest ADT, rozważmy różne wbudowane typy danych, które są nam dostarczane. Typy danych takie jak int, float, double, long itp. są uważane za wbudowane typy danych i możemy na nich wykonywać podstawowe operacje, takie jak dodawanie, odejmowanie, dzielenie, mnożenie itp. Teraz może zaistnieć sytuacja, gdy potrzebujemy operacji dla naszego typu danych zdefiniowanego przez użytkownika, który należy zdefiniować. Operacje te można zdefiniować tylko wtedy, gdy ich potrzebujemy. Zatem, aby uprościć proces rozwiązywania problemów, możemy tworzyć struktury danych wraz z ich operacjami, a takie struktury danych, które nie są wbudowane, nazywane są Abstrakcyjnym Typem Danych (ADT).
Różnica dat w Excelu
Streszczenie Typ danych (ADT) to typ (lub klasa) obiektów, których zachowanie jest określone przez zestaw wartości i zestaw operacji. Definicja ADT wspomina jedynie, jakie operacje mają zostać wykonane, ale nie wskazuje, w jaki sposób te operacje zostaną zrealizowane. Nie określa, w jaki sposób dane będą zorganizowane w pamięci i jakie algorytmy zostaną użyte do realizacji operacji. Nazywa się to abstrakcyjnym, ponieważ zapewnia widok niezależny od implementacji.
Proces dostarczania tylko tego, co najważniejsze i ukrywania szczegółów, nazywany jest abstrakcją.

Użytkownik Zatem użytkownik musi jedynie wiedzieć, co dany typ danych potrafi, ale nie wiedzieć, w jaki sposób zostanie on zaimplementowany. Pomyśl o ADT jak o czarnej skrzynce, która ukrywa wewnętrzną strukturę i projekt typu danych. Teraz zdefiniujemy trzy ADT, a mianowicie Lista ADT, Kolejka ADT.
1. Lista ADT
Java łączy się z mysql

Widoki listy
- Dane są zazwyczaj przechowywane w sekwencji klawiszy na liście, która ma strukturę nagłówkową składającą się z liczyć , wskazówki I adres funkcji porównania potrzebne do porównania danych na liście.
- Węzeł danych zawiera wskaźnik do struktury danych i a wskaźnik samoodnoszący się który wskazuje następny węzeł na liście.
- The Lista funkcji ADT podano poniżej:
- get() – Zwraca element z listy w dowolnej pozycji.
- wstaw() – Wstaw element w dowolnej pozycji listy.
- usuń() – Usuń pierwsze wystąpienie dowolnego elementu z niepustej listy.
- RemoveAt() – Usuń element w określonej lokalizacji z niepustej listy.
- zamień() – Zamień element w dowolnej pozycji na inny element.
- size() – Zwraca liczbę elementów na liście.
- isEmpty() – Zwraca wartość true, jeśli lista jest pusta, w przeciwnym razie zwraca wartość false.
- isFull() – Zwraca wartość true, jeśli lista jest pełna, w przeciwnym razie zwraca wartość false.
2. Stos ADT

Widok stosu
formuła murarska
- W implementacji Stack ADT zamiast przechowywania danych w każdym węźle przechowywany jest wskaźnik do danych.
- Program przydziela pamięć dla pliku dane I adres jest przekazywany do stosu ADT.
- Węzeł główny i węzły danych są hermetyzowane w narzędziu ADT. Funkcja wywołująca widzi tylko wskaźnik do stosu.
- Struktura nagłówka stosu zawiera również wskaźnik do szczyt I liczyć liczby wpisów aktualnie znajdujących się na stosie.
- push() – Wstaw element na jednym końcu stosu o nazwie top.
- pop() – Usuń i zwróć element na górze stosu, jeśli nie jest pusty.
- peek() – Zwraca element na szczycie stosu bez jego usuwania, jeśli stos nie jest pusty.
- size() – Zwraca liczbę elementów na stosie.
- isEmpty() – Zwraca wartość true, jeśli stos jest pusty, w przeciwnym razie zwraca wartość false.
- isFull() – Zwraca wartość true, jeśli stos jest pełny, w przeciwnym razie zwraca wartość false.
3. Kolejka ADT

Widok na kolejkę
- Abstrakcyjny typ danych kolejki (ADT) jest zgodny z podstawową konstrukcją abstrakcyjnego typu danych stosu.
- Każdy węzeł zawiera pusty wskaźnik do dane i wskaźnik łącza do następnego elementu w kolejce. Zadaniem programu jest przydzielanie pamięci do przechowywania danych.
- enqueue() – wstawia element na końcu kolejki.
- dequeue() – Usuń i zwróć pierwszy element kolejki, jeśli kolejka nie jest pusta.
- peek() – Zwraca element kolejki bez usuwania go, jeśli kolejka nie jest pusta.
- size() – Zwraca liczbę elementów w kolejce.
- isEmpty() – Zwraca wartość true, jeśli kolejka jest pusta, w przeciwnym razie zwraca wartość false.
- isFull() – zwraca wartość true, jeśli kolejka jest pełna, w przeciwnym razie zwraca wartość false.
Cechy ADT:
Abstrakcyjne typy danych (ADT) to sposób hermetyzacji danych i operacji na nich w jedną jednostkę. Niektóre z kluczowych cech ADT obejmują:
- Abstrakcja: Użytkownik nie musi znać implementacji struktury danych, dostarczane są jedynie podstawowe informacje.
- Lepsza konceptualizacja: ADT daje nam lepszą konceptualizację prawdziwego świata.
- Solidny: Program jest solidny i ma zdolność wychwytywania błędów.
- Kapsułkowanie : ADT ukrywają wewnętrzne szczegóły danych i zapewniają publiczny interfejs umożliwiający użytkownikom interakcję z danymi. Pozwala to na łatwiejszą konserwację i modyfikację struktury danych.
- Abstrakcja danych : ADT zapewniają poziom abstrakcji od szczegółów implementacji danych. Użytkownicy muszą jedynie znać operacje, które można wykonać na danych, a nie sposób, w jaki te operacje są implementowane.
- Niezależność struktury danych : Zestawy ADT można implementować przy użyciu różnych struktur danych, takich jak tablice lub listy połączone, bez wpływu na funkcjonalność zestawu ADT.
- Ukrywanie informacji: ADT mogą chronić integralność danych, umożliwiając dostęp tylko autoryzowanym użytkownikom i operacjom. Pomaga to zapobiegać błędom i niewłaściwemu wykorzystaniu danych.
- Modułowość : ADT można łączyć z innymi ADT, tworząc większe, bardziej złożone struktury danych. Pozwala to na większą elastyczność i modułowość w programowaniu.
Ogólnie rzecz biorąc, narzędzia ADT stanowią potężne narzędzie do organizowania danych i manipulowania nimi w ustrukturyzowany i wydajny sposób.
Abstrakcyjne typy danych (ADT) mają kilka zalet i wad, które należy wziąć pod uwagę przy podejmowaniu decyzji o ich zastosowaniu w tworzeniu oprogramowania. Oto niektóre z głównych zalet i wad korzystania z ADT:
Zalety:
- Kapsułkowanie : ADT umożliwiają hermetyzację danych i operacji w jedną jednostkę, co ułatwia zarządzanie strukturą danych i modyfikowanie jej.
- Abstrakcja : ADT pozwalają użytkownikom pracować ze strukturami danych bez konieczności znajomości szczegółów implementacji, co może uprościć programowanie i zmniejszyć liczbę błędów.
- Niezależność struktury danych : ADT można wdrożyć przy użyciu różnych struktur danych, co może ułatwić dostosowanie się do zmieniających się potrzeb i wymagań.
- Ukrywanie informacji : ADT mogą chronić integralność danych, kontrolując dostęp i zapobiegając nieautoryzowanym modyfikacjom.
- Modułowość : ADT można łączyć z innymi ADT, tworząc bardziej złożone struktury danych, co może zwiększyć elastyczność i modułowość programowania.
Niedogodności:
- Nad głową : Implementacja narzędzi ADT może zwiększyć obciążenie w zakresie pamięci i przetwarzania, co może mieć wpływ na wydajność.
- Złożoność : Implementacja narzędzi ADT może być skomplikowana, szczególnie w przypadku dużych i złożonych struktur danych.
- Uczenie się Krzywa: Korzystanie z narzędzi ADT wymaga wiedzy na temat ich implementacji i użycia, a nauczenie się tego może wymagać czasu i wysiłku.
- Ograniczona elastyczność: Niektóre narzędzia ADT mogą mieć ograniczoną funkcjonalność lub mogą nie być odpowiednie dla wszystkich typów struktur danych.
- Koszt : Wdrożenie ADT może wymagać dodatkowych zasobów i inwestycji, co może zwiększyć koszty rozwoju.
Ogólnie rzecz biorąc, zalety narzędzi ADT często przeważają nad wadami i są one szeroko stosowane w tworzeniu oprogramowania do zarządzania danymi i manipulowania nimi w ustrukturyzowany i wydajny sposób. Jednak przy podejmowaniu decyzji o zastosowaniu ADT ważne jest, aby wziąć pod uwagę specyficzne potrzeby i wymagania projektu.
dynamiczna tablica Java
Z tych definicji jasno wynika, że nie określają one, w jaki sposób te ADT będą reprezentowane i w jaki sposób będą przeprowadzane operacje. Mogą istnieć różne sposoby implementacji narzędzia ADT, na przykład narzędzie List ADT można zaimplementować przy użyciu tablic, listy pojedynczo połączonej lub listy podwójnie połączonej. Podobnie ADT stosu i ADT kolejki można zaimplementować przy użyciu tablic lub list połączonych.