logo

Typy struktur danych, klasyfikacje i zastosowania

Co to jest struktura danych:

Struktura danych to magazyn używany do przechowywania i organizowania danych. Jest to sposób uporządkowania danych na komputerze w taki sposób, aby można było uzyskać do nich dostęp i efektywnie je aktualizować.

Struktura danych służy nie tylko do organizowania danych. Służy również do przetwarzania, wyszukiwania i przechowywania danych. W prawie każdym opracowanym programie lub systemie oprogramowania stosowane są różne podstawowe i zaawansowane typy struktur danych. Musimy więc posiadać dobrą znajomość struktur danych.



Struktury danych stanowią integralną część komputerów służącą do porządkowania danych w pamięci. Są one niezbędne i odpowiedzialne za efektywne organizowanie, przetwarzanie, uzyskiwanie dostępu i przechowywanie danych. Ale to nie wszystko. Różne typy struktur danych mają swoje cechy, cechy, zastosowania, zalety i wady. Jak zatem zidentyfikować strukturę danych odpowiednią do konkretnego zadania? Co należy rozumieć pod pojęciem „Struktura danych”? Ile istnieje typów struktur danych i do czego służą?

Co to jest struktura danych: typy, klasyfikacje i zastosowania

Co to jest struktura danych: typy, klasyfikacje i zastosowania

Zapewniamy Ci ochronę. Sporządziliśmy pełną listę wszystkiego na temat tego, czym jest struktura danych, jakie są typy struktur danych, klasyfikacja struktur danych, zastosowania każdej struktury danych i tak dalej. W tym artykule omówimy każdy aspekt każdej struktury danych, aby pomóc Ci wybrać najlepszą w ciągu kilku minut.



Spis treści

Czym różni się struktura danych od typu danych:

O strukturze danych już wiemy. Często zdarza się, że ludzie mylą typ danych ze strukturą danych. Przyjrzyjmy się więc kilku różnicom między typem danych a strukturą danych, aby było to jasne.

Typ danych



Struktura danych

Typ danych to postać zmiennej, do której można przypisać wartość. Określa, że ​​dana zmienna będzie przypisywać wartości wyłącznie danego typu danych.

Struktura danych to zbiór różnych rodzajów danych. Całe dane można przedstawić za pomocą obiektu i można ich używać w całym programie.

Może przechowywać wartość, ale nie dane. Dlatego jest bez danych.

Może przechowywać wiele typów danych w jednym obiekcie.

Implementacja typu danych nazywana jest implementacją abstrakcyjną.

Różnica dat w Excelu

Implementacja struktury danych nazywana jest implementacją konkretną.

W przypadku typów danych nie ma złożoności czasowej.

W obiektach struktury danych ważną rolę odgrywa złożoność czasowa.

W przypadku typów danych wartość danych nie jest przechowywana, ponieważ reprezentuje jedynie typ danych, który można przechowywać.

Natomiast w przypadku struktur danych dane i ich wartość zajmują miejsce w pamięci głównej komputera. Ponadto struktura danych może przechowywać różne rodzaje i typy danych w jednym obiekcie.

Przykładami typów danych są int, float, double itp.

Przykładami struktur danych są stos, kolejka, drzewo itp.

Klasyfikacja struktury danych:

Struktura danych ma wiele różnych zastosowań w naszym codziennym życiu. Istnieje wiele różnych struktur danych używanych do rozwiązywania różnych problemów matematycznych i logicznych. Stosując strukturę danych, można uporządkować i przetworzyć bardzo dużą ilość danych w stosunkowo krótkim czasie. Przyjrzyjmy się różnym strukturom danych używanym w różnych sytuacjach.

Klasyfikacja struktury danych

Klasyfikacja struktury danych

  • Liniowa struktura danych: Strukturę danych, w której elementy danych są ułożone sekwencyjnie lub liniowo, a każdy element jest powiązany z poprzednimi i kolejnymi sąsiednimi elementami, nazywa się liniową strukturą danych.
    Przykładami liniowych struktur danych są tablica, stos, kolejka, lista połączona itp.
    • Statyczna struktura danych: Statyczna struktura danych ma stały rozmiar pamięci. Łatwiejszy jest dostęp do elementów w statycznej strukturze danych.
      Przykładem tej struktury danych jest tablica.
    • Dynamiczna struktura danych: W dynamicznej strukturze danych rozmiar nie jest stały. Można go losowo aktualizować w czasie wykonywania, co można uznać za wydajne pod względem złożoności pamięci (przestrzennej) kodu.
      Przykładami tej struktury danych są kolejka, stos itp.
  • Nieliniowa struktura danych: Struktury danych, w których elementy danych nie są rozmieszczone sekwencyjnie lub liniowo, nazywane są nieliniowymi strukturami danych. W nieliniowej strukturze danych nie możemy przejść przez wszystkie elementy tylko w jednym przebiegu.
    Przykładami nieliniowych struktur danych są drzewa i wykresy.

Potrzeba struktury danych:

Struktura danych i synteza algorytmu są ze sobą powiązane. Prezentacja danych musi być łatwa do zrozumienia, aby zarówno programista, jak i użytkownik mogli efektywnie wdrożyć operację.
Struktury danych zapewniają łatwy sposób organizowania, wyszukiwania, zarządzania i przechowywania danych.
Oto lista potrzeb w zakresie danych.

  1. Modyfikacja struktury danych jest łatwa.
  2. Wymaga mniej czasu.
  3. Oszczędzaj miejsce w pamięci.
  4. Reprezentacja danych jest łatwa.
  5. Łatwy dostęp do dużej bazy danych.

Tablice:

Tablica jest liniową strukturą danych i stanowi zbiór elementów przechowywanych w sąsiadujących lokalizacjach pamięci. Pomysł polega na przechowywaniu wielu elementów tego samego typu w jednym miejscu. Pozwala na przetwarzanie dużej ilości danych w stosunkowo krótkim czasie. Pierwszy element tablicy jest indeksowany indeksem dolnym wynoszącym 0. Na tablicy możliwe są różne operacje, takie jak wyszukiwanie, sortowanie, wstawianie, przesuwanie, odwracanie i usuwanie.

Szyk

Szyk

Charakterystyka tablicy:

Tablica ma różne cechy, które są następujące:

  • Tablice wykorzystują strukturę danych opartą na indeksach, która pomaga łatwo zidentyfikować każdy element tablicy za pomocą indeksu.
  • Jeśli użytkownik chce przechowywać wiele wartości tego samego typu danych, tablicę można efektywnie wykorzystać.
  • Tablica może również obsługiwać złożone struktury danych, przechowując dane w tablicy dwuwymiarowej.
  • Tablica jest również używana do implementowania innych struktur danych, takich jak stosy, kolejki, sterty, tabele mieszające itp.
  • Proces wyszukiwania w tablicy można przeprowadzić bardzo łatwo.

Operacje wykonywane na tablicy:

  • Inicjalizacja : Tablicę można zainicjować wartościami w momencie deklaracji lub później za pomocą instrukcji przypisania.
  • Dostęp do elementów: Dostęp do elementów tablicy można uzyskać poprzez ich indeks, który zaczyna się od 0 i rośnie do rozmiaru tablicy minus jeden.
  • Wyszukiwanie elementów : Tablice można wyszukiwać pod kątem określonego elementu przy użyciu algorytmów wyszukiwania liniowego lub binarnego.
  • Sortowanie elementów : Elementy tablicy można sortować rosnąco lub malejąco przy użyciu algorytmów, takich jak sortowanie bąbelkowe, sortowanie przez wstawianie lub sortowanie szybkie.
  • Wstawianie elementów: Elementy można wstawić do szyku w określonym miejscu, ale operacja ta może być czasochłonna, ponieważ wymaga przesunięcia istniejących elementów w szyku.
  • Usuwanie elementów: Elementy można usunąć z tablicy, przesuwając elementy następujące po niej, aby wypełnić lukę.
  • Aktualizacja elementów: Elementy tablicy można aktualizować lub modyfikować, przypisując nową wartość do określonego indeksu.
  • Elementy poprzeczne: Elementy tablicy można przechodzić po kolei, odwiedzając każdy element raz.

Oto niektóre z najczęstszych operacji wykonywanych na tablicach. Konkretne operacje i użyte algorytmy mogą się różnić w zależności od wymagań problemu i używanego języka programowania.

Zastosowania tablicy:

Różne zastosowania tablicy są następujące:

  • Tablicę wykorzystuje się do rozwiązywania problemów macierzowych.
  • Rekordy bazy danych są również implementowane przez tablicę.
  • Pomaga w implementacji algorytmu sortowania.
  • Służy również do implementowania innych struktur danych, takich jak stosy, kolejki, sterty, tabele mieszające itp.
  • Tablicę można wykorzystać do planowania procesora.
  • Może być stosowana jako tabela przeglądowa w komputerach.
  • Tablice mogą być używane w przetwarzaniu mowy, gdzie każdy sygnał mowy jest tablicą.
  • Ekran komputera jest również wyświetlany w postaci tablicy. Tutaj używamy tablicy wielowymiarowej.
  • Tablica jest używana w wielu systemach zarządzania, takich jak biblioteka, studenci, parlament itp.
  • Tablica wykorzystywana jest w internetowym systemie rezerwacji biletów. Ta tablica wyświetla kontakty w telefonie komórkowym.
  • W grach takich jak szachy online, w których gracz może przechowywać swoje przeszłe i bieżące ruchy. Wskazuje wskazówkę dotyczącą pozycji.
  • Aby zapisać obrazy w określonym wymiarze w Androidzie, np. 360*1200

Zastosowania Array w życiu codziennym:

  • Tablica jest często używana do przechowywania danych do obliczeń matematycznych.
  • Wykorzystywany jest w przetwarzaniu obrazu.
  • Jest również stosowany w zarządzaniu rekordami.
  • Strony książek są także prawdziwymi przykładami tablicy.
  • Wykorzystuje się go również w pudełkach do zamawiania.

Chcesz zacząć korzystać z tablic? Możesz wypróbować wybrane przez nas artykuły i listy najlepszych praktyk:

  • Wprowadzenie do struktury danych tablicowych
  • 50 najważniejszych problemów z kodowaniem tablicowym podczas rozmów kwalifikacyjnych
  • Przećwicz problem z tablicą na techcodeview.com

Połączona lista:

Lista połączona to liniowa struktura danych, w której elementy nie są przechowywane w sąsiadujących lokalizacjach pamięci. Elementy na połączonej liście są połączone za pomocą wskaźników, jak pokazano na poniższym obrazku:

Rodzaje list połączonych:

  • Lista pojedynczo połączona
  • Podwójnie połączona lista
  • Okrągła lista połączona
  • Podwójnie cykliczna lista połączona
Połączona lista

Połączona lista

zawiera podciąg Java

Charakterystyka listy połączonej:

Lista połączona ma różne cechy, które są następujące:

  • Lista połączona wykorzystuje dodatkową pamięć do przechowywania łączy.
  • Podczas inicjalizacji połączonej listy nie ma potrzeby znajomości rozmiaru elementów.
  • Listy połączone służą do implementowania stosów, kolejek, wykresów itp.
  • Pierwszy węzeł połączonej listy nazywany jest Głową.
  • Następny wskaźnik ostatniego węzła zawsze wskazuje na NULL.
  • Na połączonej liście możliwe jest łatwe wstawianie i usuwanie.
  • Każdy węzeł połączonej listy składa się ze wskaźnika/łącza będącego adresem następnego węzła.
  • Połączone listy mogą łatwo się zmniejszać lub powiększać w dowolnym momencie.

Operacje wykonywane na liście połączonej:

Lista połączona to liniowa struktura danych, w której każdy węzeł zawiera wartość i odniesienie do następnego węzła. Oto kilka typowych operacji wykonywanych na listach połączonych:

  • Inicjalizacja: Połączoną listę można zainicjować, tworząc węzeł główny z odniesieniem do pierwszego węzła. Każdy kolejny węzeł zawiera wartość i odniesienie do następnego węzła.
  • Wstawianie elementów: Elementy można wstawiać na początku, na końcu lub w określonej pozycji na połączonej liście.
  • Usuwanie elementów : Elementy można usunąć z połączonej listy, aktualizując odniesienie do poprzedniego węzła tak, aby wskazywało następny węzeł, co skutecznie usuwa bieżący węzeł z listy.
  • Wyszukiwanie elementów : Listy połączone można wyszukiwać pod kątem konkretnego elementu, zaczynając od węzła głównego i podążając za odniesieniami do kolejnych węzłów, aż do znalezienia żądanego elementu.
  • Aktualizacja elementów : Elementy połączonej listy można aktualizować, modyfikując wartość określonego węzła.
  • Elementy poprzeczne: Po elementach połączonej listy można przechodzić, zaczynając od węzła głównego i podążając za odniesieniami do kolejnych węzłów, aż do końca listy.
  • Odwracanie połączonej listy : Połączoną listę można odwrócić, aktualizując odniesienia do każdego węzła, tak aby wskazywały poprzedni węzeł, a nie następny.

Oto niektóre z najczęstszych operacji wykonywanych na listach połączonych. Konkretne operacje i użyte algorytmy mogą się różnić w zależności od wymagań problemu i używanego języka programowania.

Zastosowania listy połączonej:

Różne zastosowania list połączonych są następujące:

  • Listy połączone służą do implementowania stosów, kolejek, wykresów itp.
  • Listy połączone służą do wykonywania operacji arytmetycznych na długich liczbach całkowitych.
  • Służy do reprezentacji rzadkich macierzy.
  • Jest używany w połączonej alokacji plików.
  • Pomaga w zarządzaniu pamięcią.
  • Jest używany w reprezentacji manipulacji wielomianami, gdzie każdy składnik wielomianu reprezentuje węzeł na połączonej liście.
  • Listy połączone służą do wyświetlania kontenerów obrazów. Użytkownicy mogą przeglądać przeszłe, bieżące i następne obrazy.
  • Służą do przechowywania historii odwiedzanych stron.
  • Służą do wykonywania operacji cofania.
  • Połączone są używane w tworzeniu oprogramowania, gdzie wskazują poprawną składnię tagu.
  • Listy połączone służą do wyświetlania kanałów mediów społecznościowych.

Prawdziwe zastosowania listy połączonej:

  • Połączona lista jest używana w harmonogramie okrężnym do śledzenia tury w grach wieloosobowych.
  • Jest używany w przeglądarce obrazów. Poprzednie i następne obrazy są ze sobą powiązane i dlatego można do nich przejść za pomocą przycisków Poprzedni i Następny.
  • Na liście odtwarzania muzyki utwory są powiązane z poprzednimi i następnymi utworami.

Chcesz zacząć korzystać z listy połączonej? Możesz wypróbować nasze wybrane artykuły i listy najlepszych praktyk:

  • Wprowadzenie do struktury danych listy połączonej
  • Lista 20 najpopularniejszych pytań do wywiadu z powiązaną listą
  • Przećwicz problem z listą połączoną na techcodeview.com

Stos:

Stos to liniowa struktura danych, która ma określoną kolejność wykonywania operacji. Kolejność jest LIFO (ostatni na wejściu, pierwszy na wyjściu) . Wprowadzanie i pobieranie danych możliwe jest tylko z jednego końca. Wprowadzanie i pobieranie danych nazywa się także operacją push i pop na stosie. Na stosie możliwe są różne operacje, takie jak odwracanie stosu za pomocą rekurencji, sortowanie, usuwanie środkowego elementu stosu itp.

Stos

Charakterystyka stosu:

Stos ma różne cechy, które są następujące:

  • Stos jest używany w wielu różnych algorytmach, takich jak Wieża Hanoi, przechodzenie przez drzewo, rekurencja itp.
  • Stos jest implementowany poprzez tablicę lub połączoną listę.
  • Działa zgodnie z operacją Last In First Out, co oznacza, że ​​element wstawiony jako pierwszy pojawi się jako ostatni i odwrotnie.
  • Wstawianie i usuwanie odbywa się z jednego końca, czyli od góry stosu.
  • Na stosie, jeśli przydzielone miejsce na stos jest pełne, a mimo to ktoś próbuje dodać więcej elementów, doprowadzi to do przepełnienia stosu.

Zastosowania stosu:

Różne zastosowania stosu są następujące:

  • Struktura danych stosu jest używana do oceny i konwersji wyrażeń arytmetycznych.
  • Służy do sprawdzania nawiasów.
  • Podczas odwracania łańcucha używany jest również stos.
  • Stos służy do zarządzania pamięcią.
  • Służy również do przetwarzania wywołań funkcji.
  • Stos służy do konwersji wyrażeń z infiksu na postfiks.
  • Stos służy do wykonywania operacji cofania i ponawiania w edytorach tekstu.
  • Stos jest używany w maszynach wirtualnych, takich jak JVM.
  • Stos jest używany w odtwarzaczach multimedialnych. Przydatne do odtwarzania następnego i poprzedniego utworu.
  • Stos jest używany w operacjach rekurencji.

Operacja wykonywana na stosie;

Stos to liniowa struktura danych, która implementuje zasadę LIFO (ostatni na wejściu, pierwszy na wyjściu). Oto kilka typowych operacji wykonywanych na stosach:

  • Naciskać : Elementy można przesuwać na szczyt stosu, dodając nowy element na szczyt stosu.
  • Muzyka pop : Górny element można usunąć ze stosu, wykonując operację pop, skutecznie usuwając ostatni element, który został zepchnięty na stos.
  • Zerkać: Górny element można sprawdzić bez wyjmowania go ze stosu za pomocą operacji podglądu.
  • Jest pusty : Można sprawdzić, czy stos jest pusty.
  • Rozmiar : Liczbę elementów stosu można określić za pomocą operacji rozmiaru.

Oto niektóre z najczęstszych operacji wykonywanych na stosach. Konkretne operacje i użyte algorytmy mogą się różnić w zależności od wymagań problemu i używanego języka programowania. Stosy są powszechnie używane w aplikacjach, takich jak ocena wyrażeń, implementacja stosów wywołań funkcji w programach komputerowych i wiele innych.

Zastosowania stosu w życiu codziennym:

  • Prawdziwym przykładem stosu jest warstwa talerzy ułożonych jeden nad drugim. Kiedy zdejmiesz talerz ze stosu, możesz przenieść go na szczyt stosu. Ale to jest dokładnie ta płyta, która została ostatnio dodana do stosu. Jeśli chcesz, aby płyta znajdowała się na dole stosu, musisz usunąć wszystkie znajdujące się na niej płyty, aby do niej dotrzeć.
  • Przeglądarki wykorzystują struktury danych stosu do śledzenia wcześniej odwiedzanych witryn.
  • Logowanie połączeń w telefonie komórkowym również wykorzystuje strukturę danych stosu.

Chcesz zacząć korzystać ze Stacka? Możesz wypróbować wybrane przez nas artykuły i listy najlepszych praktyk:

np. znaczy
  • Przećwicz problem ze stosem na techcodeview.com

Kolejka:

Kolejka to liniowa struktura danych, która charakteryzuje się określoną kolejnością wykonywania operacji. Kolejność jest Pierwsze weszło, pierwsze wyszło (FIFO) tzn. jako pierwszy uzyskany zostanie dostęp do elementu danych zapisanego jako pierwszy. W tym przypadku wprowadzanie i pobieranie danych nie odbywa się tylko z jednego końca. Przykładem kolejki jest dowolna kolejka konsumentów do zasobu, w której konsument, który przyszedł pierwszy, jest obsługiwany jako pierwszy. Na kolejce wykonywane są różne operacje, takie jak odwracanie kolejki (z użyciem rekurencji lub bez niej), odwracanie pierwszych K elementów kolejki itp. Kilka podstawowych operacji wykonywanych w kolejce to umieszczanie w kolejce, usuwanie z kolejki, przód, tył itp.

Kolejka

Charakterystyka kolejki:

Kolejka ma różne cechy, które są następujące:

  • Kolejka ma strukturę FIFO (pierwsze weszło, pierwsze wyszło).
  • Aby usunąć ostatni element Kolejki, należy usunąć wszystkie elementy wstawione przed nowym elementem w kolejce.
  • Kolejka to uporządkowana lista elementów o podobnych typach danych.

Zastosowania kolejki:

Różne zastosowania kolejki są następujące:

  • Kolejka służy do obsługi ruchu na stronie.
  • Pomaga utrzymać listę odtwarzania w odtwarzaczach multimedialnych.
  • Kolejka jest używana w systemach operacyjnych do obsługi przerwań.
  • Pomaga w obsłudze żądań w ramach jednego udostępnionego zasobu, takiego jak drukarka, planowanie zadań procesora itp.
  • Stosowany jest przy asynchronicznym przesyłaniu danych m.in. potoki, plik IO i gniazda.
  • Kolejki służą do planowania zadań w systemie operacyjnym.
  • W mediach społecznościowych do przesyłania wielu zdjęć lub filmów używana jest kolejka.
  • Do wysyłania poczty e-mail używana jest struktura danych kolejki.
  • Do obsługi ruchu na stronie w danym momencie wykorzystywane są kolejki.
  • W systemie operacyjnym Windows, aby przełączyć wiele aplikacji.

Operacja wykonywana na kolejce:

Kolejka to liniowa struktura danych, która implementuje zasadę „pierwszy na wejściu, pierwszy na wyjściu” (FIFO). Oto kilka typowych operacji wykonywanych na kolejkach:

  • Kolejkuj : Elementy można dodawać na końcu kolejki, dodając nowy element na końcu kolejki.
  • Odpowiednio : Element czołowy można usunąć z kolejki, wykonując operację usuwania z kolejki, co skutecznie usuwa pierwszy element dodany do kolejki.
  • Zerkać : Przedni element można sprawdzić bez usuwania go z kolejki za pomocą operacji podglądu.
  • Jest pusty : Można sprawdzić, czy kolejka jest pusta.
  • Rozmiar : Liczbę elementów w kolejce można określić za pomocą operacji rozmiaru.

Oto niektóre z najczęstszych operacji wykonywanych na kolejkach. Konkretne operacje i użyte algorytmy mogą się różnić w zależności od wymagań problemu i używanego języka programowania. Kolejki są powszechnie używane w aplikacjach takich jak planowanie zadań, zarządzanie komunikacją między procesami i wiele innych.

Prawdziwe zastosowania kolejki:

  • Prawdziwym przykładem kolejki jest jednopasmowa droga jednokierunkowa, na której pojazd wjeżdżający jako pierwszy wyjedzie jako pierwszy.
  • Bardziej realistyczny przykład można zobaczyć w kolejce do kas biletowych.
  • Przykładem kolejki jest także kolejka do kasy w sklepie.
  • Ludzie na schodach ruchomych

Chcesz zacząć korzystać z kolejki? Możesz wypróbować wybrane przez nas artykuły i listy najlepszych praktyk:

  • Przećwicz problem z kolejką na techcodeview.com

Drzewo:

Drzewo to nieliniowa i hierarchiczna struktura danych, w której elementy są ułożone w strukturę przypominającą drzewo. W drzewie najwyższy węzeł nazywany jest węzłem głównym. Każdy węzeł zawiera pewne dane, a dane mogą być dowolnego typu. Składa się z węzła centralnego, węzłów konstrukcyjnych i podwęzłów, które są połączone krawędziami. Różne drzewiaste struktury danych umożliwiają szybszy i łatwiejszy dostęp do danych, ponieważ jest to nieliniowa struktura danych. Drzewo ma różne terminologie, takie jak węzeł, korzeń, krawędź, wysokość drzewa, stopień drzewa itp.

Istnieją różne typy drzewiaste

Drzewo

Drzewo

Charakterystyka drzewa:

Drzewo ma różne cechy, które są następujące:

  • Drzewo jest również znane jako rekursywna struktura danych.
  • W drzewie wysokość korzenia można zdefiniować jako najdłuższą ścieżkę od węzła głównego do węzła liścia.
  • W drzewie można również obliczyć głębokość od góry do dowolnego węzła. Węzeł główny ma głębokość 0.

Zastosowania drzewa:

Różne zastosowania Tree są następujące:

  • Sterta to drzewiasta struktura danych zaimplementowana przy użyciu tablic i używana do implementacji kolejek priorytetowych.
  • B-Tree i B+ Tree służą do implementacji indeksowania w bazach danych.
  • Syntax Tree pomaga w skanowaniu, analizowaniu, generowaniu kodu i ocenie wyrażeń arytmetycznych w projektowaniu kompilatora.
  • Drzewo K-D to drzewo podziału przestrzeni używane do organizowania punktów w przestrzeni K-wymiarowej.
  • Drzewa opinające stosowane są w routerach w sieciach komputerowych.

Operacja wykonywana na drzewie:

Drzewo to nieliniowa struktura danych składająca się z węzłów połączonych krawędziami. Oto kilka typowych operacji wykonywanych na drzewach:

  • Wprowadzenie : Do drzewa można dodać nowe węzły, aby utworzyć nową gałąź lub zwiększyć wysokość drzewa.
  • Usunięcie : Węzły można usunąć z drzewa, aktualizując odniesienia do węzła nadrzędnego w celu usunięcia odniesienia do bieżącego węzła.
  • Szukaj : Elementy można wyszukiwać w drzewie, zaczynając od węzła głównego i przechodząc przez drzewo w oparciu o wartość bieżącego węzła, aż do znalezienia żądanego węzła.
  • Przejście : Elementy drzewa można przeglądać na kilka różnych sposobów, w tym w kolejności, przed zamówieniem i po zamówieniu.
  • Wysokość : Wysokość drzewa można określić, licząc liczbę krawędzi od węzła korzenia do najdalszego węzła liścia.
  • Głębokość : Głębokość węzła można określić, zliczając liczbę krawędzi od węzła głównego do węzła bieżącego.
  • Balansowy : Drzewo można zrównoważyć, aby zapewnić minimalizację wysokości drzewa i możliwie równomierne rozmieszczenie węzłów.

Oto niektóre z najczęstszych operacji wykonywanych na drzewach. Konkretne operacje i użyte algorytmy mogą się różnić w zależności od wymagań problemu i używanego języka programowania. Drzewa są powszechnie używane w aplikacjach takich jak wyszukiwanie, sortowanie i przechowywanie danych hierarchicznych.

Zastosowania drzewa w życiu codziennym:

  • W prawdziwym życiu drzewiasta struktura danych pomaga w tworzeniu gier.
  • Pomaga także w indeksowaniu baz danych.
  • Drzewo decyzyjne to wydajne narzędzie do uczenia maszynowego, powszechnie stosowane w analizie decyzji. Ma strukturę przypominającą schemat blokowy, która pomaga zrozumieć dane.
  • Domain Name Server również wykorzystuje drzewiastą strukturę danych.
  • Najczęstszym przypadkiem użycia drzewa jest dowolny serwis społecznościowy.

Chcesz zacząć korzystać z Tree? Możesz wypróbować wybrane przez nas artykuły i listy najlepszych praktyk:

  • 50 najważniejszych pytań do wywiadu z drzewem
  • Ćwicz zadanie drzewa na techcodeview.com

Wykres:

Wykres to nieliniowa struktura danych składająca się z wierzchołków (lub węzłów) i krawędzi. Składa się ze skończonego zbioru wierzchołków i zbioru krawędzi łączących parę węzłów. Wykres służy do rozwiązywania najbardziej wymagających i złożonych problemów programistycznych. Ma różne terminologie, takie jak ścieżka, stopień, sąsiednie wierzchołki, połączone komponenty itp.

Wykres

Wykres

Charakterystyka wykresu:

Wykres ma różne cechy, które są następujące:

  • Maksymalna odległość od wierzchołka do wszystkich pozostałych wierzchołków jest uważana za mimośród tego wierzchołka.
  • Wierzchołek o minimalnej mimośrodowości jest uważany za centralny punkt grafu.
  • Za promień połączonego grafu uważa się minimalną wartość mimośrodu ze wszystkich wierzchołków.

Zastosowania wykresu:

Różne zastosowania wykresów są następujące:

  • Wykres służy do przedstawienia przebiegu obliczeń.
  • Służy do modelowania grafów.
  • System operacyjny korzysta z Grafu alokacji zasobów.
  • Używany również w sieci WWW, gdzie strony internetowe reprezentują węzły.

Operacja wykonana na wykresie:

Wykres to nieliniowa struktura danych składająca się z węzłów i krawędzi. Oto kilka typowych operacji wykonywanych na wykresach:

  • Dodaj wierzchołek: Do wykresu można dodać nowe wierzchołki, aby reprezentować nowy węzeł.
  • Dodaj krawędź: Pomiędzy wierzchołkami można dodać krawędzie, aby przedstawić relację między węzłami.
  • Usuń wierzchołek : Wierzchołki można usunąć z grafu, aktualizując odniesienia do sąsiednich wierzchołków, aby usunąć odniesienia do bieżącego wierzchołka.
  • Usuń Edge'a : Krawędzie można usunąć, aktualizując odniesienia do sąsiednich wierzchołków, aby usunąć odniesienia do bieżącej krawędzi.
  • Wyszukiwanie w głąb (DFS) : Graf można przeglądać, korzystając z przeszukiwania w głąb, odwiedzając wierzchołki w sposób wnikający w głębokość.
  • B Pierwsze wyszukiwanie odczytu (BFS): Graf można przeglądać za pomocą przeszukiwania wszerz, odwiedzając wierzchołki w sposób wszerz.
  • Najkrótsza droga: Najkrótszą ścieżkę pomiędzy dwoma wierzchołkami można wyznaczyć za pomocą algorytmów takich jak algorytm Dijkstry lub algorytm A*.
  • Połączone komponenty : Połączone elementy grafu można określić, znajdując zbiory wierzchołków, które są połączone ze sobą, ale nie z żadnymi innymi wierzchołkami grafu.
  • Wykrywanie cyklu : Cykle na wykresie można wykryć sprawdzając tylne krawędzie podczas przeszukiwania w głąb.

Oto niektóre z najczęstszych operacji wykonywanych na wykresach. Konkretne operacje i użyte algorytmy mogą się różnić w zależności od wymagań problemu i używanego języka programowania. Wykresy są powszechnie używane w takich zastosowaniach, jak sieci komputerowe, sieci społecznościowe i problemy z routingiem.

Zastosowania wykresu w życiu codziennym:

  • Jednym z najpopularniejszych przykładów wykresów w świecie rzeczywistym są Mapy Google, w których miasta są zlokalizowane jako wierzchołki, a ścieżki łączące te wierzchołki jako krawędzie wykresu.
  • Sieć społecznościowa to także rzeczywisty przykład wykresu, w którym każda osoba w sieci jest węzłem, a wszystkie jej przyjaźnie w sieci stanowią krawędzie wykresu.
  • Wykres służy również do badania cząsteczek w fizyce i chemii.

Chcesz zacząć korzystać z Graph? Możesz wypróbować wybrane przez nas artykuły i listy najlepszych praktyk:

różnica między programem a skryptem
  • Wprowadzenie do struktury danych wykresu
  • 50 najpopularniejszych pytań do wywiadu na temat wykresu
  • Przećwicz zadanie z wykresem na techcodeview.com

Zalety struktury danych:

  1. Poprawiona organizacja danych i wydajność przechowywania.
  2. Szybsze wyszukiwanie i manipulowanie danymi.
  3. Ułatwia projektowanie algorytmów rozwiązywania złożonych problemów.
  4. Ułatwia aktualizację i konserwację danych.
  5. Zapewnia lepsze zrozumienie relacji między elementami danych.

Wada struktury danych:

  1. Zwiększone obciążenie obliczeniowe i pamięci.
  2. Trudności w projektowaniu i wdrażaniu złożonych struktur danych.
  3. Ograniczona skalowalność i elastyczność.
  4. Złożoność debugowania i testowania.
  5. Trudności w modyfikowaniu istniejących struktur danych.

Odniesienie:

Struktury danych można znaleźć w różnych podręcznikach informatyki i zasobach internetowych. Niektóre popularne teksty obejmują:

  1. Wprowadzenie do algorytmów autorstwa Thomasa H. Cormena, Charlesa E. Leisersona, Ronalda L. Rivesta i Clifforda Steina.
  2. Struktury danych i analiza algorytmów w Javie autorstwa Marka Allena Weissa.
  3. Podręcznik projektowania algorytmów autorstwa Stevena S. Skieny.
  4. Zasoby internetowe, takie jak Coursera, Udemy i Khan Academy oferują również kursy dotyczące struktur danych i algorytmów.

Wniosek

Chociaż są to najbardziej znane i używane struktury danych, istnieją również inne formy struktur danych, które są stosowane w informatyce, takie jak struktury danych oparte na zasadach itp. Niezależnie jednak od tego, którą strukturę danych wybierzesz, każda ma swoje zalety i wady, a bez ich wiedzy wybranie niewłaściwego typu struktury danych może być bardzo kosztowne. Dlatego bardzo ważne jest, aby zrozumieć potrzebę danej sytuacji, a następnie zdecydować, jaki rodzaj struktury danych najlepiej pasuje do danego zadania.