Różnica między tablicą a połączoną listą

Autor: Laura McKinney
Data Utworzenia: 3 Kwiecień 2021
Data Aktualizacji: 5 Móc 2024
Anonim
Różnica między tablicą a połączoną listą - Technologia
Różnica między tablicą a połączoną listą - Technologia

Zawartość


Główna różnica między Szyk i Połączona lista w odniesieniu do ich struktury. Tablice są na podstawie indeksu struktura danych, w której każdy element jest powiązany z indeksem. Z drugiej strony, lista połączona polega na referencje gdzie każdy węzeł składa się z danych i odniesień do poprzedniego i następnego elementu.

Zasadniczo tablica to zestaw podobnych obiektów danych przechowywanych w sekwencyjnych lokalizacjach pamięci pod wspólnym nagłówkiem lub nazwą zmiennej.

Podczas gdy połączona lista jest strukturą danych, która zawiera sekwencję elementów, w których każdy element jest połączony z kolejnym elementem. W elemencie połączonej listy znajdują się dwa pola. Jednym z nich jest pole danych, a drugim pole łączy, pole danych zawiera rzeczywistą wartość do przechowywania i przetwarzania. Ponadto w polu linku znajduje się adres następnego elementu danych na połączonej liście. Adres używany do uzyskania dostępu do określonego węzła jest znany jako wskaźnik.


Inną znaczącą różnicą między tablicą a listą połączoną jest to, że tablica ma ustalony rozmiar i musi zostać zadeklarowana wcześniej, ale lista połączona nie jest ograniczona do rozmiaru, rozwijania i kurczenia się podczas wykonywania.

  1. Wykres porównania
  2. Definicja
  3. Kluczowe różnice
  4. Wniosek

Wykres porównania

Podstawa do porównaniaSzykPołączona lista
PodstawowyJest to spójny zestaw ustalonej liczby elementów danych.Jest to uporządkowany zestaw zawierający zmienną liczbę elementów danych.
RozmiarOkreślone podczas deklaracji.Nie trzeba określać; rosną i kurczą się podczas egzekucji.
Przydział pamięci Lokalizacja elementu jest przydzielana w czasie kompilacji.Pozycja elementu jest przypisywana w czasie wykonywania.
Kolejność elementów Przechowywane kolejno Przechowywany losowo
Dostęp do elementuDostęp bezpośredni lub losowy, tj. Określ indeks tablicy lub indeks dolny.Dostęp sekwencyjny, tzn. Przejście przez pierwszy węzeł na liście za pomocą wskaźnika.
Wstawianie i usuwanie elementuStosunkowo powoli, ponieważ wymagana jest zmiana biegów.Łatwiej, szybciej i wydajniej.
Badawczy Wyszukiwanie binarne i wyszukiwanie liniowewyszukiwanie liniowe
Wymagana pamięćmniej Więcej
Wykorzystanie pamięciNieskutecznyWydajny


Definicja tablicy

Tablica jest zdefiniowana jako zbiór określonej liczby jednorodnych elementów lub elementów danych. Oznacza to, że tablica może zawierać tylko jeden typ danych: wszystkie liczby całkowite, wszystkie liczby zmiennoprzecinkowe lub wszystkie znaki. Deklaracja tablicy jest następująca:
int a;
Gdzie int określa typ danych lub typ elementów składowych tablic. „A” to nazwa tablicy, a liczba określona w nawiasach kwadratowych to liczba elementów, które tablica może przechowywać, jest to również nazywane rozmiarem lub długością tablicy.

Przyjrzyjmy się niektórym koncepcjom, które należy zapamiętać o tablicach:

  • Dostęp do poszczególnych elementów tablicy można uzyskać, opisując jej nazwę, a następnie indeks lub indeks dolny (określający położenie elementu w tablicy) w nawiasach kwadratowych. Na przykład, aby pobrać 5. element tablicy, musimy napisać instrukcję a.
  • W każdym razie elementy tablicy będą przechowywane w kolejnym miejscu w pamięci.
  • Pierwszy element tablicy ma indeks zero. Oznacza to, że pierwszy i ostatni element zostaną określone odpowiednio jako i.
  • Liczba elementów, które mogą być przechowywane w tablicy, tj. Rozmiar tablicy lub jej długość jest określona przez następujące równanie:
    (górna granica-dolna granica) + 1
    Dla powyższej tablicy będzie to (9-0) + 1 = 10. Gdzie 0 to dolna granica tablicy, a 9 to górna granica tablicy.
  • Tablice mogą być odczytywane lub zapisywane przez pętlę. Jeśli czytamy tablicę jednowymiarową, wymaga ona jednej pętli do odczytu, a drugiej do zapisu (ing) tablicy, na przykład:
    za. Do odczytu tablicy
    dla (i = 0; i <= 9; i ++)
    {scanf („% d”, i a); }
    b. Do pisania tablicy
    dla (i = 0; i <= 9; i ++)
    {f („% d”, a); }
  • W przypadku tablicy 2-D wymagałoby to dwóch pętli, podobnie tablica n-wymiarowa wymagałaby n pętli.

Operacje wykonywane na tablicach to:

  1. Tworzenie tablicy
  2. Przemierzanie tablicy
  3. Wstawianie nowych elementów
  4. Usunięcie wymaganych elementów.
  5. Modyfikacja elementu.
  6. Scalanie tablic

Przykład

Poniższy program ilustruje odczyt i zapis tablicy.

#zawierać
#zawierać
void main ()
{
int a, ja;
f („Wprowadź tablicę”);
dla (i = 0; i <= 9; i ++)
{
scanf („% d”, i a);
}
f („Wprowadź tablicę”);
dla (i = 0; i <= 9; i ++)
{
f ("% d n", a);
}
getch ();
}

Definicja listy połączonej

Lista połączona to szczególna lista niektórych elementów danych powiązanych ze sobą. W tym każdym elemencie wskazuje następny element, który reprezentuje logiczne uporządkowanie. Każdy element nazywa się węzłem, który składa się z dwóch części.

INFO część, która przechowuje informacje oraz POINTER, który wskazuje na następny element. Jak wiadomo do przechowywania adresu, mamy unikalne struktury danych w C zwane wskaźnikami. Dlatego drugie pole listy musi być wskaźnikiem.

Rodzaje połączonych list to: Pojedynczo połączona, Podwójnie połączona lista, Okrągła lista połączona, Okrągła podwójnie połączona lista.

Operacje wykonywane na połączonej liście to:

  1. kreacja
  2. Przemierzanie
  3. Wprowadzenie
  4. Usunięcie
  5. Badawczy
  6. Powiązanie
  7. Pokaz

Przykład

Poniższy fragment ilustruje tworzenie połączonej listy:

węzeł strukturalny
{
int num;
węzeł stuct * dalej;
}
start = NULL;
void create ()
{
typedef struct node NODE;
NODE * p, * q;
wybór char;
first = NULL;
robić
{
p = (NODE *) malloc (sizeof (NODE));
f („Wprowadź element danych n”);
scanf ("% d", & p -> num);
if (p == NULL)
{
q = start;
while (q -> next! = NULL)
{q = q -> dalej
}
p -> next = q -> next;
q -> = p;
}
jeszcze
{
p -> dalej = start;
start = p;
}
f („Czy chcesz kontynuować (wpisz y lub n)? n”);
scanf („% c” i wybór);
}
while ((wybór == y) || (wybór == Y));
}

  1. Tablica to struktura danych zawierająca zbiór elementów danych podobnego typu, podczas gdy lista połączona jest uważana za nieprymitywną strukturę danych zawierającą zbiór nieuporządkowanych połączonych elementów zwanych węzłami.
  2. W tablicy elementy należą do indeksów, tzn. Jeśli chcesz dostać się do czwartego elementu, musisz wpisać nazwę zmiennej wraz z jej indeksem lub lokalizacją w nawiasie kwadratowym.
    Jednak na połączonej liście musisz zacząć od głowy i przejść dalej, aż dojdziesz do czwartego elementu.
  3. Dostęp do tablicy elementów jest szybki, a lista połączona zajmuje czas liniowy, więc jest nieco wolniejsza.
  4. Operacje takie jak wstawianie i usuwanie w tablicach pochłaniają dużo czasu. Z drugiej strony wykonywanie tych operacji na listach połączonych jest szybkie.
  5. Tablice mają stały rozmiar. W przeciwieństwie do tego, Listy połączone są dynamiczne i elastyczne i mogą rozszerzać i zmniejszać swój rozmiar.
  6. W tablicy pamięć jest przydzielana podczas kompilacji, natomiast na liście połączonej jest przydzielana podczas wykonywania lub w czasie wykonywania.
  7. Elementy są przechowywane kolejno w tablicach, a losowo na listach połączonych.
  8. Wymaganie pamięci jest mniejsze ze względu na faktyczne dane przechowywane w indeksie w tablicy. W przeciwieństwie do tego istnieje potrzeba większej ilości pamięci na połączonych listach ze względu na przechowywanie dodatkowych następnych i poprzednich elementów odniesienia.
  9. Ponadto wykorzystanie pamięci jest nieefektywne w tablicy. I odwrotnie, wykorzystanie pamięci w macierzy jest wydajne.

Wniosek

Tablice i listy połączone to typy struktur danych, które różnią się budową, metodami dostępu i manipulacji, wymaganiem pamięci i wykorzystaniem. I mają szczególną zaletę i wadę w stosunku do jego wdrożenia. W związku z tym można użyć jednego z nich zgodnie z potrzebą.