Co to jest liniowa struktura danych? Wyjaśnienie listy struktur danych

Opublikowany: 2021-06-18

Struktury danych to dane ustrukturyzowane w sposób umożliwiający ich efektywne wykorzystanie przez użytkowników. Ponieważ program komputerowy w dużym stopniu opiera się na danych, a także wymaga dużej ilości danych do swojego działania, bardzo ważne jest uporządkowanie danych. Takie rozmieszczenie danych w zorganizowanych strukturach jest znane jako struktura danych.

Przechowywanie danych w strukturach danych umożliwia dostęp, modyfikacje i inne operacje, które można przenosić na elementach danych. Porządkowanie danych odbywa się głównie w komputerze, dlatego do wykonywania operacji na strukturach danych wymagane są odpowiednie algorytmy. Redukcja miejsca i złożoność czasowa różnych zadań to główny cel struktur danych.

Najważniejsze punkty w strukturze danych to:

  • Duża ilość danych jest organizowana przez każdy rodzaj struktury danych.
  • Każda struktura danych kieruje się określoną zasadą.
  • Podstawowa zasada struktury danych powinna być przestrzegana, nawet jeśli jakiekolwiek operacje są wykonywane na strukturze danych.

Rozmieszczenie danych w strukturze danych może przebiegać w różnym porządku. Struktura danych jest zatem klasyfikowana zgodnie ze sposobem uporządkowania danych. Zasadniczo istnieją dwa rodzaje struktury danych .

  1. Pierwotna struktura danych
  2. Niepierwotna struktura danych

Pierwotny typ struktury danych obejmuje wstępnie zdefiniowane struktury danych, takie jak char, float, int i double.

Nieprymitywne struktury danych służą do przechowywania kolekcji elementów. Ta struktura danych może być dalej skategoryzowana na

  1. Liniowa struktura danych
  2. Nieliniowa struktura danych.

Przeczytaj: Poznaj różnice między liniową i nieliniową strukturą danych

W tym artykule omówimy głównie strukturę danych przechowującą dane liniowo.

Spis treści

Liniowa struktura danych

Jest to rodzaj struktury danych, w której uporządkowanie danych jest zgodne z trendem liniowym. Elementy danych są ułożone liniowo w taki sposób, że element jest bezpośrednio połączony z poprzednim i kolejnymi elementami. Ponieważ elementy są przechowywane liniowo, struktura obsługuje jednopoziomowe przechowywanie danych. W związku z tym przechodzenie danych odbywa się tylko w jednym przebiegu.

Charakterystyka

  • Jest to rodzaj struktury danych, w której dane są przechowywane i zarządzane w kolejności liniowej.
  • Elementy danych w sekwencji są połączone ze sobą jeden po drugim.
  • Implementacja liniowej struktury danych w pamięci komputera jest łatwa, ponieważ dane są uporządkowane sekwencyjnie.
  • Tablica, kolejka. Stos, lista połączona itp. to przykłady tego typu struktury.
  • Elementy danych przechowywane w strukturze danych mają tylko jedną relację.
  • Przechodzenie elementów danych można przeprowadzić w jednym przebiegu, ponieważ elementy danych są przechowywane na jednym poziomie.
  • W przypadku zaimplementowania struktury przechowującej dane w sposób liniowy, wykorzystanie pamięci komputera jest słabe.
  • Wraz ze wzrostem wielkości struktury danych wzrasta złożoność czasowa struktury.

Struktury te można zatem podsumować jako rodzaj struktury danych, w której elementy są przechowywane sekwencyjnie i zachowują kolejność, w której:

  • Obecny jest tylko jeden pierwszy element , który ma jeden następny element.
  • Obecny jest tylko jeden ostatni element , który ma jeden poprzedni element.
  • Wszystkie pozostałe elementy w strukturze danych mają poprzedni i następny element

Lista struktury danych w liniowym typie struktury danych

1. Tablica

Tablica jest tego typu strukturą, która przechowuje jednorodne elementy w sąsiadujących lokalizacjach pamięci. Te same typy obiektów są przechowywane sekwencyjnie w tablicy. Główną ideą tablicy jest to, że wiele danych tego samego typu może być przechowywanych razem. Przed zapisaniem danych w tablicy należy określić rozmiar tablicy. Można uzyskać dostęp do dowolnego elementu w tablicy lub go modyfikować, a przechowywane elementy są indeksowane w celu zidentyfikowania ich lokalizacji.

Tablicę można wyjaśnić za pomocą prostego przykładu przechowywania ocen dla wszystkich uczniów w klasie. Załóżmy, że jest 20 uczniów, wtedy wielkość tablicy należy podać jako 20. Oceny wszystkich uczniów można następnie przechowywać w utworzonej tablicy bez konieczności tworzenia osobnych zmiennych dla ocen dla każdego ucznia. Proste przechodzenie przez tablicę może prowadzić do dostępu do elementów.

2. Lista połączona

Połączona lista to ten typ struktury danych, w którym oddzielne obiekty są przechowywane sekwencyjnie. Każdy obiekt przechowywany w strukturze danych będzie miał dane i odniesienie do następnego obiektu. Ostatni węzeł połączonej listy ma odniesienie do null. Pierwszy element połączonej listy jest nazywany nagłówkiem listy. Istnieje wiele różnic między połączoną listą a innymi typami struktur danych. Są to pod względem alokacji pamięci, wewnętrznej struktury struktury danych i operacji wykonywanych na połączonej liście.

Dotarcie do elementu na połączonej liście jest wolniejszym procesem w porównaniu z tablicami, ponieważ indeksowanie w tablicy pomaga w zlokalizowaniu elementu. Jednak w przypadku listy połączonej proces musi zaczynać się od nagłówka i przechodzić przez całą strukturę, aż do osiągnięcia pożądanego elementu. W przeciwieństwie do tego zaletą korzystania z list połączonych jest to, że dodawanie lub usuwanie elementów na początku można wykonać bardzo szybko.

Istnieją trzy rodzaje połączonych list:

  • Single Linked List: Ten typ struktury ma adres lub odniesienie do następnego węzła przechowywanego w bieżącym węźle. Dlatego węzeł, który na końcu ma adres i referencję jako NULL. Przykład: A->B->C->D->E->NULL.
  • Lista podwójnie połączona : jak sama nazwa wskazuje, z każdym węzłem powiązane są dwa odniesienia. Jedno odniesienie kieruje do poprzedniego węzła, podczas gdy drugie odniesienie wskazuje na następny węzeł. Przechodzenie jest możliwe w obu kierunkach, ponieważ dostępne jest odniesienie dla poprzednich węzłów. Ponadto do usunięcia nie jest wymagany jawny dostęp. Przykład: NULL<-A<->B<->C<->D<->E->NULL.
  • Połączona lista, która jest okrągła: Węzły w okrągłej połączonej liście są połączone w taki sposób, że tworzy się okrąg. Ponieważ połączona lista jest cykliczna, nie ma końca, a zatem nie ma wartości NULL. Ten rodzaj połączonej listy może podążać za strukturą zarówno pojedynczo, jak i podwójnie. Nie ma określonego węzła początkowego i każdy węzeł z danych może być węzłem początkowym. Odniesienie ostatniego węzła wskazuje na pierwszy węzeł. Przykład: A->B->C->D->E.

Właściwości połączonej listy to:

    • Czas dostępu: O(n)
    • Czas wyszukiwania: O(n)
    • Dodawanie elementu: O(1)
  • Usuwanie elementu : O(1)

3. Stos

Stos to inny rodzaj struktury, w którym elementy przechowywane w strukturze danych podlegają zasadzie LIFO (ostatnie weszło, pierwsze wyszło) lub FILO (pierwsze weszło, ostatnie wyszło). Ze stosem związane są dwa rodzaje operacji, tj. push i pop. Push jest używany, gdy element musi zostać dodany do kolekcji, a pop jest używany, gdy ostatni element ma zostać usunięty z kolekcji. Ekstrakcja może być przeprowadzona tylko dla ostatniego dodanego elementu.

Właściwości stosu to:

  • Dodawanie elementu: O(1)
  • usuwanie elementu: O(1)
  • Czas dostępu: O(n) [Najgorszy przypadek]
  • Tylko jeden koniec umożliwia wstawianie i usuwanie elementu.

Przykłady stosu obejmują usuwanie rekurencji. W scenariuszach, w których słowo musi zostać odwrócone lub podczas korzystania z edytorów, gdy ostatnio wpisane słowo zostanie usunięte jako pierwsze (przy użyciu operacji cofania), używane są stosy. Jeśli chcesz wypróbować ciekawe projekty struktury danych, kliknij, aby przeczytać ten artykuł.

4. Kolejka

Kolejka to rodzaj struktury danych, w której elementy, które mają być przechowywane, są zgodne z zasadą pierwsze weszło, pierwsze wyszło (FIFO). Konkretna kolejność jest wykonywana w celu wykonania wymaganych operacji na elementach. Różnica między kolejką a stosem polega na usunięciu elementu, gdzie ostatnio dodany obiekt jest usuwany jako pierwszy ze stosu. Natomiast w przypadku kolejki jako pierwszy usuwany jest element, który został dodany jako pierwszy.

Zarówno koniec struktury danych służy do wprowadzania i usuwania danych. Dwie główne operacje rządzące strukturą kolejki to kolejkowanie i usuwanie z kolejki. Enqueue odnosi się do procesu, w którym dozwolone jest wstawianie elementu do zbierania danych, a dequeue odnosi się do procesu, w którym dozwolone jest usuwanie elementów, który w tym przypadku jest pierwszym elementem w kolejce.

Właściwości kolejki to:

  • Wstawianie elementu: O(1)
  • Usuwanie elementu: O(1)
  • Czas dostępu: W (n)

Przykład kolejki: Podobnie do kolejek tworzonych podczas oczekiwania na autobus lub w dowolnym miejscu, struktura danych również ma ten sam wzór. Możemy sobie wyobrazić osobę czekającą na autobus i stojącą na pierwszym miejscu jako osobę, która jako pierwsza podeszła do kolejki. Ta osoba jako pierwsza wejdzie do autobusu, czyli wyjdzie z kolejki. Kolejki są stosowane, gdy wielu użytkowników dzieli te same zasoby i muszą być obsługiwane na podstawie tego, kto był pierwszy na serwerze.

Wniosek

Wzrost wielkości danych wymusił efektywne wykorzystanie struktur danych w programach komputerowych. Jeśli dane nie są zorganizowane w ustrukturyzowany sposób, wykonywanie zadań nad elementami staje się trudne.

Aby operacja była bezproblemowa, zawsze ważne jest jej zorganizowanie w taki sposób, aby łatwe i skuteczne operacje mogły być wykonywane przez programy komputerowe. Jeśli elementy danych są zorganizowane w kolejności sekwencyjnej, jest to znane jako liniowa struktura danych, podczas gdy elementy danych są ułożone w sposób nieliniowy, nazywa się to strukturą nieliniową.

Szerokie zastosowanie struktury danych zaobserwowano w językach uczenia maszynowego, problemach z życia codziennego itp. Osoby, które marzą o pracy w tej dziedzinie, powinny umieć opanować te pojęcia.

Jeśli chcesz dowiedzieć się więcej, zapoznaj się z programem upGrad Executive PG w dziedzinie nauki o danych, który zapewnia platformę do przekształcenia Cię w odnoszących sukcesy naukowców zajmujących się danymi. Zaprojektowany dla wszystkich profesjonalistów średniego szczebla, kurs nauki o danych zapewni Ci całą teoretyczną i praktyczną wiedzę niezbędną do osiągnięcia sukcesu. Po co więc czekać na inne opcje, gdy od sukcesu dzieli Cię tylko jedno kliknięcie. Jeśli potrzebna jest jakakolwiek pomoc, chętnie Ci pomożemy.

Jaka jest różnica między liniowymi a nieliniowymi strukturami danych?

Poniżej przedstawiono istotne różnice między liniową i nieliniową strukturą danych:
Liniowa struktura danych —
1. W liniowych strukturach danych każdy element jest liniowo połączony ze sobą z odniesieniem do następnego i poprzedniego elementu.
2. Wdrożenie jest dość łatwe, ponieważ dotyczy tylko jednego poziomu.
3. Marnotrawstwo pamięci jest znacznie bardziej powszechne w liniowych strukturach danych.
4. Stosy, kolejki, tablice i listy połączone są przykładami liniowych struktur danych.
Nieliniowa struktura danych —
1. W nieliniowych strukturach danych elementy są połączone hierarchicznie.
2. Wdrożenie jest znacznie bardziej złożone, ponieważ zaangażowanych jest wiele poziomów.
3. Pamięć jest zużywana mądrze i prawie nie marnuje się pamięci.
4. Wykresy i drzewa to przykłady nieliniowych struktur danych.

W jaki sposób listy połączone są bardziej wydajne niż tablice?

Poniższe punkty opisują sposoby, dzięki którym listy połączone są znacznie wydajniejsze niż tablice:
a. Dynamiczna alokacja pamięci
Pamięć listy połączonej jest lokalizowana dynamicznie, co oznacza, że ​​nie ma potrzeby inicjowania rozmiaru i można ją w dowolnym momencie rozszerzać lub zmniejszać bez konieczności wykonywania jakichkolwiek operacji zewnętrznych.
Z drugiej strony tablice są alokowane statycznie, a ich rozmiar musi zostać zainicjowany. Raz utworzonego rozmiaru nie można zmienić.
b. Wstawianie i usuwanie
Ponieważ lista połączona jest tworzona dynamicznie, operacje takie jak wstawianie i usuwanie są znacznie wygodniejsze.
c . Brak marnowania pamięci
Połączona lista nie powoduje marnowania pamięci, ponieważ wszystkie elementy są wstawiane dynamicznie. A po usunięciu elementu możemy zwolnić jego pamięć.

Jakie są najczęstsze operacje wykonywane w liniowych strukturach danych?

Typowe możliwe operacje, które można wykonać we wszystkich liniowych strukturach danych, obejmują przechodzenie, wstawianie, usuwanie, modyfikację, operację wyszukiwania i operację sortowania.
Operacje te są rozpoznawane pod różnymi nazwami w różnych strukturach danych. Na przykład operacje wstawiania i usuwania są znane jako operacje Push i Pop w stosie, podczas gdy są one określane jako operacje wpisywania i usuwania z kolejki w kolejce.
Mogą istnieć inne operacje, takie jak scalanie i pusta operacja, aby sprawdzić, czy struktura danych jest pusta, czy nie.