Mirë se vini në mësimin tonë mbi vargjet dhe listat e lidhura. Në këtë mësim, ne do të mësojmë dy mënyra të thjeshta për të ruajtur dhe organizuar të dhënat. Imagjinoni që keni një radhë kuti lodrash ose një varg dollapësh në shkollë. Vargjet dhe listat e lidhura funksionojnë në mënyrë të ngjashme. Ato na ndihmojnë t'i mbajmë gjërat të rregullta dhe të lehta për t'u gjetur. Ky mësim është shkruar në gjuhë të thjeshtë me shembuj të përditshëm për t'ju ndihmuar t'i kuptoni me lehtësi këto ide.
Strukturat e të dhënave ndihmojnë kompjuterët të ruajnë dhe organizojnë informacionin. Dy struktura të rëndësishme të të dhënave janë vargjet dhe listat e lidhura. Ju mund të mendoni për një grup si një rresht kutish dhe një listë të lidhur si një zinxhir të dhënash të lidhura në një gjueti thesari. Të dyja këto na ndihmojnë të mbajmë gjurmët e shumë artikujve, si lodrat, librat apo edhe ushqimet tuaja të preferuara.
Ne do të flasim për atë që është një grup, çfarë është një listë e lidhur, si funksionojnë dhe si janë të ndryshëm. Do të shohim gjithashtu shembuj të botës reale që i bëjnë këto ide sa më të qarta.
Një grup është vetëm një koleksion artikujsh. Është si një rresht kutish ku çdo kuti mban një artikull. Për shembull, imagjinoni një grup prej pesë kutive të rreshtuara në një rresht. Ju mund të përdorni çdo kuti për të ruajtur një lodër të preferuar ose një rostiçeri.
Çdo kuti në një grup ka një numër të quajtur indeks. Kutia e parë zakonisht numërohet me 0, tjetra është 1, pastaj 2, e kështu me radhë. Ky numërim ju ndihmon të gjeni shpejt një artikull specifik. Për shembull, nëse dëshironi artikullin në kutinë e tretë, thjesht shikoni kutinë me indeksin 2.
Këtu është një formulë e thjeshtë për të shpjeguar se si mund të gjejmë një artikull në një grup. Nëse kutia e parë është në një pikë fillestare, atëherë adresa e çdo artikulli mund të mendohet si:
\( \textrm{Adresa}(A(i)) = \textrm{Adresa}(A(0)) + i \times \textrm{(madhësia e një artikulli)} \)
Kjo na tregon se për të kaluar nga kutia e parë në kutinë që duam, ju numëroni përpara një numër të caktuar hapësirash.
Mendoni për një grup si sediljet në një kinema të vogël. Çdo vend ka një numër dhe ju mund të shkoni shpejt në vendin tuaj nëse e dini numrin e tij.
Imagjinoni që shkolla juaj të ketë një rresht dollapësh, secila me një numër unik. Kur shkoni të vendosni çantën në dollap me kyç, përdorni numrin specifik në dollap. Në një grup, çdo dollap me kyç është si një kuti dhe numri ju tregon vendin e saktë ku ruhet çanta ose të dhënat tuaja.
Një listë e lidhur është një mënyrë tjetër për të ruajtur artikujt. Ai është i ndryshëm nga një grup, sepse nuk përdor një rresht të gjatë kutish fikse. Në vend të kësaj, ai përdor kuti të veçanta të quajtura nyje. Çdo nyje mban një artikull dhe gjithashtu ka një tregues që ju tregon se ku është nyja tjetër.
Imagjinoni se jeni në një gjueti thesari. Çdo e dhënë që gjeni ju tregon se ku fshihet e dhëna tjetër. Në një listë të lidhur, çdo nyje është si një nga këto të dhëna. Kur filloni nga e dhëna e parë, ju ndiqni treguesin nga një nyje në tjetrën derisa të gjeni atë që ju nevojitet.
Ju mund të mendoni për secilën nyje si një zarf të vogël. Zarfi mban një kartë (të dhënat) dhe gjithashtu një shënim (treguesin). Ky shënim ju tregon se cili zarf vjen më pas në rresht.
Le të shohim një mënyrë të thjeshtë për të shkruar se çfarë është një nyje:
Nyja = {të dhëna, tregues)
"Të dhënat" në një nyje janë informacioni i ruajtur, dhe "treguesi" është si një shigjetë që ju drejton në nyjen tjetër. Ndryshe nga një grup, një listë e lidhur nuk kërkon që të gjitha nyjet të jenë pranë njëri-tjetrit në memorie; ato mund të jenë kudo, për sa kohë që treguesit i lidhin ato.
Ekzistojnë stile të ndryshme të listave të lidhura. Këtu janë tre lloje të zakonshme:
Imagjinoni që po ndiqni një hartë thesari. Çdo hap në hartë ju tregon se ku është hapi tjetër. Edhe nëse shtoni një të dhënë shtesë ose hiqni një të tillë, mund ta ndiqni përsëri duke lexuar të dhëna në secilën kartë. Kështu funksionon një listë e lidhur. Çdo nyje (ose e dhënë) është e lidhur me tjetrën, duke ju lejuar të lëvizni nëpër listë një hap në një kohë.
Vargjet dhe listat e lidhura na ndihmojnë të ruajmë artikujt, por ato e bëjnë këtë në mënyra të ndryshme. Këtu janë disa krahasime:
Çdo strukturë e të dhënave ka pjesët e saj të mira dhe sfidat e saj. Kuptimi i këtyre ju ndihmon të zgjidhni më të mirën për t'u përdorur.
Vargjeve:
Përparësitë:
Disavantazhet:
Listat e lidhura:
Përparësitë:
Disavantazhet:
Le të shohim se si mund të përdorim një grup në një mënyrë të thjeshtë. Supozoni se doni të ruani pesë ngjyrat tuaja të preferuara. Ju krijoni një grup me pesë kuti. Pastaj vendosni secilën ngjyrë në një kuti sipas renditjes. Për shembull:
Tani, nëse doni të dini se cila ngjyrë është në Kutinë 2, thjesht shikoni atë kuti dhe do të shihni "E gjelbër". Kjo qasje e lehtë është një nga pjesët më të mira të përdorimit të një grupi.
Tani, le të shohim një listë të lidhur. Mendoni për këtë si një gjueti thesari ku filloni me një të dhënë dhe më pas ndiqni udhëzimet për të gjetur tjetrin. Në një listë të lidhur, ne fillojmë me një nyje që përmban disa të dhëna. Kjo nyje ka një tregues që tregon se cila nyje vjen më pas.
Për shembull, imagjinoni se keni tre nyje në një listë të lidhur që tregojnë një histori argëtuese:
Ju filloni në Nyjen 1 dhe ndiqni treguesin (indicionin) te Nyja 2, më pas te Nyja 3. Edhe nëse dëshironi të shtoni një të dhënë të re midis ndonjërës prej tyre, ju duhet të ndryshoni vetëm disa tregues. Kjo i bën listat e lidhura shumë fleksibël.
Është e dobishme t'i përfytyroni këto struktura të dhënash në mendjen tuaj. Imagjinoni një grup si një rresht të gjatë kutish të qarta dhe të etiketuara në një raft. Çdo kuti mban diçka dhe ka një vend të caktuar. Tani, imagjinoni një listë të lidhur si një varg letrash. Çdo kartë ka një shënim që tregon se ku fshihet karta tjetër. Në një grup, ju mund të hidheni drejtpërdrejt në një kuti specifike sipas numrit të saj. Në një listë të lidhur, duhet të ndiqni kartat sipas renditjes.
Vargjet përdoren në shumë gjëra të përditshme. Për shembull, imagjinoni një kalendar. Një kalendar ka një numër fiks ditësh në çdo javë dhe ato ditë janë të renditura në një rresht. Kur shikoni kalendarin, e dini saktësisht se cila ditë është në cilin vend.
Listat e lidhura përdoren kur numri i artikujve mund të ndryshojë me kalimin e kohës. Mendoni për një radhë njerëzish që presin në një kamion akulloreje. Ndonjëherë njerëz të rinj i bashkohen linjës, dhe ndonjëherë dikush largohet. Linja mund të rritet ose tkurret pa pasur nevojë të krijojë një strukturë të re fikse. Kjo i bën listat e lidhura shumë të dobishme në skenarë ku gjërat ndryshojnë shpesh.
Zgjedhja midis grupeve dhe listave të lidhura varet nga ajo që duhet të bëni me të dhënat tuaja. Nëse e dini se do të keni gjithmonë një numër fiks artikujsh - si ditët në javë - atëherë një grup është shumë i përshtatshëm. Megjithatë, nëse sasia e të dhënave ndryshon dhe keni nevojë për një strukturë që mund të përshtatet lehtësisht, një listë e lidhur do të jetë një zgjedhje më e mirë.
Për shembull, në një lojë kompjuterike, një grup mund të përdoret për të ruajtur rezultatet për çdo nivel, sepse numri i niveleve është fiks. Nga ana tjetër, një listë e lidhur mund të përdoret për të menaxhuar një listë të veprimeve ose lëvizjeve të lojtarëve, të cilat mund të rriten ndërsa loja vazhdon.
Kur keni nevojë për akses të shpejtë te artikujt sipas pozicionit të tyre, grupet janë zgjidhja më e mirë. Kjo është për shkak se ju mund të hidheni drejtpërdrejt në çdo vend nëse e dini numrin e tij. Megjithatë, kur ju duhet të shtoni ose hiqni shpesh artikuj, listat e lidhura janë më të dobishme sepse ato ju lejojnë të ndryshoni listën pa lëvizur shumë artikuj.
Mendoni për këtë në këtë mënyrë: nëse keni një album ngjitëse me një numër të caktuar faqesh, një grup është si ai album. Por nëse keni një koleksion në rritje të kartolinave që i shtoni në tabelën e buletinit, një listë e lidhur është më shumë e tillë sepse mund të shtoni lehtësisht një kartolinë të re midis të tjerave pa e riorganizuar të gjithë tabelën.
Le të shqyrtojmë pikat kryesore të mësimit tonë:
Vargjeve:
Listat e lidhura:
Dallimet dhe përdorimet:
Në përmbledhje, grupet dhe listat e lidhura janë dy struktura të rëndësishme të të dhënave që përdoren për të organizuar të dhënat. Vargjet funksionojnë si një rresht kutish fikse, të numëruara, ndërsa listat e lidhura funksionojnë si një gjueti thesari ku çdo hap ju tregon se ku të shkoni më pas. Të dyja metodat kanë pikat e tyre të forta dhe përdoren në situata të ndryshme bazuar në nevojat e detyrës.
Kuptimi i këtyre dy metodave të ruajtjes së të dhënave është shumë i dobishëm. Shumë programe kompjuterike, lojëra dhe aplikacione përdorin vargje dhe lista të lidhura në sfond. Duke mësuar se si funksionojnë ato, ju fitoni njohuri mbi mënyrën se si kompjuterët organizojnë dhe menaxhojnë të dhënat.
Mbani mend: vargjet janë të thjeshta dhe të shpejta kur struktura është fikse, ndërsa listat e lidhura ofrojnë fleksibilitet kur ndryshojnë të dhënat. Pavarësisht nëse imagjinoni një varg dollapësh ose një gjurmë thesari të dhënash, këto koncepte na ndihmojnë të kuptojmë sesi informacioni ruhet dhe përdoret çdo ditë.
Ky mësim ju ka dhënë një ide të qartë se çfarë janë vargjet dhe listat e lidhura. Ndërsa vazhdoni të mësoni dhe eksploroni shkencën kompjuterike, këto ide themelore do t'ju ndihmojnë të kuptoni tema më komplekse. Ato janë blloqet ndërtuese të strukturave dhe algoritmeve më të avancuara të të dhënave.
Përmbledhje e pikave kryesore:
Faleminderit që lexuat këtë mësim mbi vargjet dhe listat e lidhura. Shpresojmë që të keni shijuar të mësoni rreth këtyre metodave për ruajtjen e të dhënave në një mënyrë të qartë dhe të thjeshtë. Ndërsa rriteni dhe mësoni më shumë, mbani mend këto struktura bazë dhe se si ato ndihmojnë që kompjuterët të funksionojnë me efikasitet.