Razlika između Array i Povezanog popisa

Autor: Laura McKinney
Datum Stvaranja: 3 Travanj 2021
Datum Ažuriranja: 8 Svibanj 2024
Anonim
Section 10
Video: Section 10

Sadržaj


Glavna razlika između red i Povezani popis s obzirom na njihovu strukturu. Nizovi su na temelju indeksa struktura podataka u kojoj je svaki element povezan s indeksom. S druge strane, povezan je popis reference pri čemu se svaki čvor sastoji od podataka i referenci na prethodni i sljedeći element.

U osnovi, niz je skup sličnih podatkovnih objekata pohranjenih u sekvencijalnim memorijskim mjestima pod zajedničkim naslovom ili nazivom varijable.

Dok je povezani popis struktura podataka koja sadrži niz elemenata gdje je svaki element povezan sa svojim sljedećim elementom. Postoje dva polja u elementu povezanog popisa. Jedno je polje podataka, a drugo polje veze, polje podataka sadrži stvarnu vrijednost koja se pohranjuje i obrađuje. Nadalje, polje veze sadrži adresu sljedećeg podatka na povezanom popisu. Adresa koja se koristi za pristup određenom čvoru poznata je kao pokazivač.

Još jedna značajna razlika između matrice i povezanog popisa je da Array ima fiksnu veličinu i mora se prethodno deklarirati, ali Povezani popis nije ograničen na veličinu i proširivanje i ugovor tijekom izvršenja.


  1. Usporedni grafikon
  2. definicija
  3. Ključne razlike
  4. Zaključak

Usporedni grafikon

Osnove za usporedburedPovezani popis
Osnovni, temeljniTo je konzistentan skup fiksnog broja podataka.To je uređeni skup koji sadrži promjenjiv broj podataka.
VeličinaNavedeno tijekom deklaracije.Nema potrebe navesti; rastu i smanjuju se tijekom izvođenja.
Dodjela skladištenja Mjesto elementa dodjeljuje se tijekom vremena sastavljanja.Položaj elementa dodjeljuje se za vrijeme izvođenja.
Redoslijed elemenata Pohranjuje se uzastopno Pohranjeno nasumično
Pristupanje elementuIzravnim ili slučajnim pristupom, tj. Odredite indeks polja ili pretplatu.Sekvencijalno se pristupa, tj. Kretanje polazeći od prvog čvora na popisu po pokazivaču.
Umetanje i brisanje elementaUsporite relativno koliko je potrebno pomicanje.Lakše, brzo i učinkovito.
pretraživanje Binarno pretraživanje i linearno pretraživanjelinearna pretraga
Potrebna je memorijamanje Više
Korištenje memorijenedjelotvoranUčinkovit


Definicija niza

Niz se definira kao skup određenog broja homogenih elemenata ili podataka. To znači da niz može sadržavati samo jednu vrstu podataka, bilo sve cjelobrojne brojeve, sve brojeve s pomičnom zarezom ili sve znakove. Deklaracija niza je sljedeća:
int a;
Gdje int specificira vrstu podataka ili vrste elemenata, pohranjuje se niz podataka. "A" je naziv matrice, a broj naveden unutar uglatih zagrada je broj elemenata koje matrica može pohraniti, a naziva se i veličinom ili duljinom matrice.

Pogledajmo neke od koncepata kojih se treba zapamtiti u vezi s nizovima:

  • Individualnim elementima matrice može se pristupiti opisom naziva matrice, a zatim indeksom ili podpisom (određivanjem elementa u nizu) unutar uglatih zagrada. Na primjer, da bismo pronašli 5. element matrice, moramo napisati izjavu a.
  • U svakom slučaju, elementi matrice bit će pohranjeni u memoriji uzastopno.
  • Prvi element polja ima indeks nulu. To znači da će prvi i zadnji element biti specificirani kao a, odnosno.
  • Broj elemenata koji se mogu pohraniti u niz, tj. Veličina niza ili njegova duljina daju se sljedećom jednadžbom:
    (gornja granica-donja granica) + 1
    Za gornji niz to bi bilo (9-0) + 1 = 10. Gdje je 0 donja granica matrice, a 9 je gornja granica matrice.
  • Nizovi se mogu čitati ili pisati kroz petlju. Ako čitamo jednodimenzionalni niz, potrebna nam je jedna petlja za čitanje, a druga za pisanje (ing) matrice, na primjer:
    a. Za čitanje niza
    za (i = 0; i <= 9; i ++)
    {scanf ("% d", & a); }
    b. Za pisanje niza
    za (i = 0; i <= 9; i ++)
    {f ("% d", a); }
  • U slučaju dvodimenzionalne matrice, zahtijevat će dvije petlje, a slično n-dimenzionalnom polju će biti potrebno i pet petlji.

Operacije na nizovima su:

  1. Stvaranje niza
  2. Putovanje nizom
  3. Umetanje novih elemenata
  4. Brisanje potrebnih elemenata.
  5. Promjena elementa.
  6. Spajanje nizova

Primjer

Sljedeći program ilustrira čitanje i pisanje niza.

#include
#include
void main ()
{
int a, i;
f ("Unesite niz");
za (i = 0; i <= 9; i ++)
{
scanf ("% d", & a);
}
f ("Unesite niz");
za (i = 0; i <= 9; i ++)
{
f ("% d n", a);
}
getch ();
}

Definicija povezanog popisa

Povezani popis poseban je popis nekih elemenata podataka povezanih jedan s drugim. U tome svaki element upućuje na sljedeći element koji predstavlja logički poredak. Svaki se element naziva čvor, koji ima dva dijela.

INFO dio koji pohranjuje podatke i POINTER koji upućuje na sljedeći element. Kao što znate za pohranu adrese, imamo jedinstvenu strukturu podataka u C zvanoj pokazivači. Stoga drugo polje popisa mora biti tip pokazivača.

Vrste povezanih lista su pojedinačno povezane liste, dvostruko povezane liste, kružne povezane liste, kružne dvostruko povezane liste.

Operacije izvedene na povezanom popisu su:

  1. Stvaranje
  2. poprijeko
  3. Umetanje
  4. Brisanje
  5. pretraživanje
  6. povezan u lanac
  7. Prikaz

Primjer

Sljedeći isječak ilustrira stvaranje povezanog popisa:

čvor strukture
{
int num;
zaglavljeni čvor * next;
}
start = NULL;
void create ()
{
typedef strukturni čvor NODE;
NODE * p, * q;
izbor izbora;
prvi = NULL;
čini
{
p = (NODE *) malloc (sizeof (NODE));
f ("Unesite podatkovnu stavku n");
scanf ("% d", & p -> broj);
ako je (p == NULL)
{
q = početak;
dok je (q -> next! = NULL)
{q = q -> sljedeći
}
p -> next = q -> sljedeći;
q -> = p;
}
drugo
{
p -> sljedeći = početak;
start = p;
}
f ("Želite li nastaviti (upišite y ili n)? n");
scanf ("% c", & izbor);
}
dok ((izbor == y) || (izbor == Y));
}

  1. Niz je struktura podataka koja sadrži zbirku podatkovnih elemenata sličnog tipa dok se Povezani popis smatra neprimitivnom strukturom podataka sadrži zbirku neuređenih povezanih elemenata poznatih kao čvorovi.
  2. U nizu elementi pripadaju indeksima, tj. Ako želite ući u četvrti element, morate upisati naziv varijable s njegovim indeksom ili lokacijom unutar uglatog zagrada.
    Na povezanom popisu morate krenuti od glave i proći svoj put dok ne dođete do četvrtog elementa.
  3. Iako je pristup nizu elemenata brzo, dok Povezani popis traje linearno vrijeme, tako da je prilično sporiji.
  4. Operacije poput umetanja i brisanja u nizovima zahtijevaju mnogo vremena. S druge strane, izvedba ovih operacija na povezanim popisima je brza.
  5. Nizovi su fiksne veličine. Suprotno tome, Povezani popisi su dinamični i fleksibilni i mogu proširiti i ugovoriti svoju veličinu.
  6. U polju se dodjeljuje memorija tijekom vremena sastavljanja, dok se na Povezanom popisu dodjeljuje tijekom izvršavanja ili vremena izvođenja.
  7. Elementi se pohranjuju u redoslijedu dok su nasumično pohranjeni u povezanim popisima.
  8. Zahtjev za memorijom je manji zbog stvarnih podataka koji se pohranjuju u indeksu u nizu. Suprotno, potrebno je više memorije u povezanim popisima zbog pohrane dodatnih narednih i prethodnih referencijskih elemenata.
  9. Osim toga, iskorištenje memorije je neučinkovito u polju. Suprotno tome, korištenje memorije je učinkovito u polju.

Zaključak

Popisi niza i povezanih vrsta su strukture podataka koje se razlikuju po svojoj strukturi, metodama pristupa i manipuliranja, zahtjevom za memorijom i upotrebom. I imaju posebnu prednost i nedostatak u odnosu na njegovu provedbu. Prema tome, ili se može koristiti prema potrebi.