Google Play badge

низа и поврзани списоци


Низи и поврзани листи

Добредојдовте на нашата лекција за низи и поврзани списоци. Во оваа лекција, ќе научиме два едноставни начини за складирање и организирање податоци. Замислете дека имате ред кутии за играчки или редица шкафчиња на училиште. Низите и поврзаните листи работат на сличен начин. Тие ни помагаат да ги одржуваме работите уредни и лесно да се најдат. Оваа лекција е напишана на едноставен јазик со секојдневни примери за да ви помогне лесно да ги разберете овие идеи.

Вовед

Структурите на податоци им помагаат на компјутерите да складираат и организираат информации. Две важни структури на податоци се низи и поврзани списоци. Можете да замислите низа како ред од кутии, а поврзан список како синџир од поврзани индиции за лов на богатство. И двете ни помагаат да следиме многу предмети, како играчки, книги или дури и вашите омилени закуски.

Ќе зборуваме за тоа што е низа, што е поврзана листа, како функционираат и како се разликуваат. Ќе видиме и примери од реалниот свет кои ги прават овие идеи што е можно појасни.

Што е низа?

Низата е само збирка на предмети. Тоа е како ред од кутии каде што секоја кутија содржи по еден предмет. На пример, замислете сет од пет кутии наредени по ред. Секоја кутија може да ја користите за складирање омилена играчка или ужина.

Секоја кутија во низата има број наречен индекс. Првата кутија обично е нумерирана со 0, следната е 1, потоа 2 итн. Ова нумерирање ви помага брзо да пронајдете одредена ставка. На пример, ако го сакате предметот во третото поле, едноставно погледнете го полето со индекс 2.

Еве едноставна формула за да објасниме како можеме да најдеме ставка во низа. Ако првото поле е на почетна точка, тогаш адресата на која било ставка може да се смета како:

\( \textrm{Адреса}(A(i)) = \textrm{Адреса}(A(0)) + i \times \textrm{(големина на една ставка)} \)

Ова ни кажува дека за да се префрлиме од првото поле до полето што го сакаме, броите нанапред одреден број празни места.

Својства на низи

Помислете на низа како седиштата во мало кино. Секое седиште има број, и можете брзо да отидете на вашето место ако го знаете неговиот број.

Секојдневен пример на низа

Замислете во вашето училиште да има ред шкафчиња, секој со уникатен број. Кога одите да ја ставите торбата во шкафчето, го користите конкретниот број на шкафчето. Во низа, секое шкафче е како кутија, а бројот ви го кажува точното место каде се чува вашата торба — или податоци.

Што е поврзана листа?

Поврзаната листа е уште еден начин за складирање на ставки. Се разликува од низата бидејќи не користи долг ред фиксни кутии. Наместо тоа, користи специјални кутии наречени јазли. Секој јазол има ставка и исто така има покажувач што ви кажува каде е следниот јазол.

Замислете дека сте на лов на богатство. Секоја трага што ја наоѓате ви кажува каде се крие следниот траг. Во поврзаната листа, секој јазол е како еден од овие индиции. Кога ќе почнете од првиот поим, го следите покажувачот од еден до друг јазол додека не го најдете она што ви треба.

Можете да го замислите секој јазол како мал плик. Ковертот носи картичка (податоците) и белешка (покажувачот). Оваа белешка ви кажува кој плик доаѓа следен во редот.

Како функционира поврзаната листа

Ајде да погледнеме едноставен начин на пишување што е јазол:

Јазол = {податоци, покажувач)

„Податоците“ во еден јазол се информациите зачувани, а „покажувачот“ е како стрелка што ве насочува кон следниот јазол. За разлика од низата, поврзаната листа не бара сите јазли да бидат еден до друг во меморијата; тие можат да бидат насекаде, се додека покажувачите ги поврзуваат.

Видови поврзани списоци

Постојат различни стилови на поврзани списоци. Еве три вообичаени видови:

Пример од реалниот свет за поврзан список

Замислете дека следите мапа на богатство. Секој чекор на мапата ви кажува каде е следниот чекор. Дури и ако додадете дополнителен поим или отстраните, сепак можете да го следите со читање на трагата на секоја картичка. Вака функционира поврзаната листа. Секој јазол (или трага) е поврзан со следниот, овозможувајќи ви да се движите низ списокот чекор по чекор.

Споредба помеѓу низи и поврзани листи

Низите и поврзаните списоци ни помагаат да складираме предмети, но тоа го прават на различни начини. Еве неколку споредби:

Предности и недостатоци

Секоја структура на податоци има свои добри делови и свои предизвици. Разбирањето на овие ви помага да го изберете најдобриот за употреба.

Низи:

Предности:

Недостатоци:

Поврзани листи:

Предности:

Недостатоци:

Работа со низи

Ајде да видиме како можеме да користиме низа на едноставен начин. Да претпоставиме дека сакате да ги зачувате вашите пет омилени бои. Креирате низа со пет кутии. Потоа секоја боја ја ставате во кутија по ред. На пример:

Сега, ако сакате да знаете која боја е во кутија 2, едноставно погледнете ја таа кутија и ќе видите „Зелена“. Овој лесен пристап е еден од најдобрите делови за користење низа.

Работа со поврзани списоци

Сега, ајде да погледнеме во поврзана листа. Сфатете го ова како лов на богатство каде што започнувате со поим, а потоа следете ги упатствата за да го најдете следниот. Во поврзаната листа, започнуваме со јазол кој содржи некои податоци. Овој јазол има покажувач кој покажува кој јазол доаѓа следен.

На пример, замислете дека имате три јазли во поврзан список што раскажуваат забавна приказна:

Почнувате од јазолот 1 и го следите покажувачот (индикацијата) до Јазол 2, потоа до Јазол 3. Дури и ако сакате да додадете нов поим помеѓу кој било од овие, треба само да промените неколку покажувачи. Ова ги прави поврзаните листи многу флексибилни.

Визуелизирање на низи и поврзани списоци

Корисно е да ги замислите овие структури на податоци во вашиот ум. Замислете низа како долг ред на јасни, означени кутии на полица. Секоја кутија држи нешто и има фиксно место. Сега, замислете ја поврзаната листа како низа од картички. Секоја картичка има белешка што покажува каде е скриена следната картичка. Во низа, можете да скокнете директно до одредено поле според неговиот број. Во поврзаната листа, треба да ги следите картичките по редослед.

Секојдневни апликации

Низите се користат во многу секојдневни работи. На пример, замислете календар. Календарот има фиксен број на денови во секоја недела, а тие денови се наредени по ред. Кога ќе го погледнете календарот, точно знаете кој ден на кое место е.

Поврзаните списоци се користат кога бројот на ставки може да се промени со текот на времето. Помислете на редица луѓе кои чекаат кај камион за сладолед. Понекогаш се приклучуваат нови луѓе, а понекогаш некој си заминува. Линијата може да расте или да се намали без да мора да се создаде нова фиксна структура. Ова ги прави поврзаните листи многу корисни во сценарија каде што работите често се менуваат.

Приспособување на складирање податоци

Изборот помеѓу низи и поврзани списоци зависи од тоа што треба да направите со вашите податоци. Ако знаете дека секогаш ќе имате фиксен број на ставки - како деновите во неделата - тогаш низата е многу погодна. Меѓутоа, ако количината на податоци се промени и ви треба структура која лесно може да се прилагоди, поврзаната листа ќе биде подобар избор.

На пример, во компјутерска игра, може да се користи низа за складирање на резултатите за секое ниво бидејќи бројот на нивоа е фиксен. Од друга страна, поврзана листа може да се користи за управување со список на дејства или потези на играчите, кои можат да растат како што играта продолжува.

Како да одлучите што да користите

Кога ви треба брз пристап до ставките според нивната положба, низите се најдобриот избор. Тоа е затоа што можете директно да скокнете на кое било место ако го знаете неговиот број. Меѓутоа, кога треба често да додавате или отстранувате ставки, поврзаните списоци се покорисни бидејќи ви дозволуваат да ја менувате листата без да преместувате многу ставки наоколу.

Размислете за тоа на следниов начин: ако имате албум со налепници со одреден број на страници, низата е како тој албум. Но, ако имате зголемена колекција на разгледници што ги додавате на огласна табла, поврзаната листа е повеќе слична затоа што можете лесно да додадете нова разгледница меѓу другите без да ја преуредите целата табла.

Клучни точки и резиме

Да ги разгледаме главните точки од нашата лекција:

Низи:

Поврзани листи:

Разлики и употреба:

Накратко, низите и поврзаните листи се две важни структури на податоци што се користат за организирање на податоците. Низите функционираат како редица фиксни, нумерирани кутии, додека поврзаните списоци функционираат како лов на богатство каде што секој чекор ви кажува каде да одите понатаму. Двата методи имаат свои силни страни и се користат во различни ситуации врз основа на потребите на задачата.

Разбирањето на овие два методи на складирање податоци е многу корисно. Многу компјутерски програми, игри и апликации користат низи и поврзани списоци во позадина. Со учење како тие работат, добивате увид во начинот на кој компјутерите ги организираат и управуваат податоците.

Запомнете: низите се едноставни и брзи кога структурата е фиксна, додека поврзаните листи нудат флексибилност кога податоците се менуваат. Без разлика дали замислувате редица шкафчиња или трага за богатство од индиции, овие концепти ни помагаат да разбереме како информациите се складираат и користат секој ден.

Оваа лекција ви даде јасна претстава за тоа што се низи и поврзани списоци. Додека продолжувате да учите и истражувате компјутерски науки, овие основни идеи ќе ви помогнат да разберете посложени теми. Тие се градежни блокови на понапредните структури на податоци и алгоритми.

Резиме на клучните точки:

Ви благодариме што ја прочитавте оваа лекција за низи и поврзани списоци. Се надеваме дека уживавте во учењето за овие методи за складирање податоци на јасен и едноставен начин. Како што растете и учите повеќе, запомнете ги овие основни структури и како тие помагаат компјутерите да работат ефикасно.

Download Primer to continue