logo

Увод у структуре података

Од проналаска рачунара, људи користе термин ' Подаци ' да се односи на информације о рачунару, било пренете или ускладиштене. Међутим, постоје подаци који постоје и у типовима налога. Подаци могу бити бројеви или текстови написани на комаду папира, у облику битова и бајтова који се чувају у меморији електронских уређаја, или чињенице ускладиштене у уму особе. Како је свет почео да се модернизује, ови подаци су постали значајан аспект свачијег свакодневног живота, а различите имплементације су им омогућиле да их другачије чувају.

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

Хајде да размотримо пример где се име запосленог може поделити на три подставке: Фирст, Миддле и Ласт. Међутим, ИД додељен запосленом генерално ће се сматрати једном ставком.

Увод у структуре података

Слика 1: Репрезентација ставки података

У горе поменутом примеру, ставке као што су ИД, Старост, Пол, Први, Средњи, Последњи, Улица, Локалитет, итд., су елементарне ставке података. Насупрот томе, Име и Адреса су групне ставке података.

Шта је структура података?

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

Обим одређеног модела података зависи од два фактора:

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

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

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

бфс и дфс

Основне терминологије везане за структуре података

Структуре података су грађевни блокови било ког софтвера или програма. Избор одговарајуће структуре података за програм је изузетно изазован задатак за програмера.

Следе неке основне терминологије које се користе кад год су структуре података укључене:

    Подаци:Податке можемо дефинисати као елементарну вредност или колекцију вредности. На пример, име и ИД запосленог су подаци који се односе на запосленог.Ставке података:Једна јединица вредности је позната као ставка података.Групни артикли:Ставке података које имају подређене ставке података познате су као групне ставке. На пример, име запосленог може имати име, средње име и презиме.Елементарне ставке:Ставке података које се не могу поделити на подставке познате су као елементарне ставке. На пример, ИД запосленог.Ентитет и атрибут:Класа одређених објеката је представљена ентитетом. Састоји се од различитих атрибута. Сваки атрибут симболизује специфично својство тог ентитета. На пример,
Атрибути ИД Име Пол Звање
Вредности 1234 Стацеи М. Хилл Женско Програмер

Ентитети са сличним атрибутима формирају ан Ентити Сет . Сваки атрибут скупа ентитета има опсег вредности, скуп свих могућих вредности које се могу доделити одређеном атрибуту.

Термин 'информација' се понекад користи за податке са датим атрибутима значајних или обрађених података.

    Поље:Једна елементарна јединица информација која симболизује атрибут ентитета позната је као поље.Запис:Колекција различитих ставки података позната је као запис. На пример, ако говоримо о ентитету запосленог, онда се његово име, ИД, адреса и назив радног места могу груписати како би се формирао запис за запосленог.Фајл:Колекција различитих записа једног типа ентитета позната је као датотека. На пример, ако има 100 запослених, биће 25 записа у повезаној датотеци који садрже податке о сваком запосленом.

Разумевање потребе за структурама података

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

Зашто би требало да учимо структуре података?

  1. Структуре података и алгоритми су два кључна аспекта рачунарске науке.
  2. Структуре података нам омогућавају да организујемо и складиштимо податке, док нам алгоритми омогућавају да те податке обрађујемо смислено.
  3. Учење структура података и алгоритама помоћи ће нам да постанемо бољи програмери.
  4. Моћи ћемо да напишемо код који је ефикаснији и поузданији.
  5. Такође ћемо моћи брже и ефикасније да решавамо проблеме.

Разумевање циљева структура података

Структуре података задовољавају два комплементарна циља:

    Исправност:Структуре података су дизајниране да исправно функционишу за све врсте улаза на основу домена интересовања. Речју, исправност чини примарни циљ структуре података, који увек зависи од проблема које структура података треба да реши.Ефикасност:Структуре података такође захтевају да буду ефикасне. Требало би да брзо обрађује податке без коришћења много рачунарских ресурса као што је меморијски простор. У стању у реалном времену, ефикасност структуре података је кључни фактор у одређивању успеха и неуспеха процеса.

Разумевање неких кључних карактеристика структура података

Неке од значајних карактеристика структура података су:

    Робусност:Генерално, сви компјутерски програмери имају за циљ да произведу софтвер који даје исправан излаз за сваки могући улаз, заједно са ефикасним извршавањем на свим хардверским платформама. Овај тип робусног софтвера мора да управља и важећим и неважећим улазима.прилагодљивост:Израда софтверских апликација као што су веб претраживачи, програми за обраду текста и интернет претраживач обухватају огромне софтверске системе који захтевају исправан и ефикасан рад или извршење дуги низ година. Штавише, софтвер се развија због нових технологија или тржишних услова који се стално мењају.Поновна употреба:Функције попут поновне употребе и прилагодљивости иду руку под руку. Познато је да програмеру треба много ресурса да би направио било који софтвер, што га чини скупим предузећем. Међутим, ако је софтвер развијен на начин који се може поново користити и прилагодљив, онда се може применити у већини будућих апликација. Дакле, извођењем квалитетних структура података, могуће је направити софтвер за вишекратну употребу, који изгледа исплатив и штеди време.

Класификација структура података

Структура података испоручује структурирани скуп варијабли које су међусобно повезане на различите начине. Он чини основу програмског алата који означава однос између елемената података и омогућава програмерима да ефикасно обрађују податке.

Структуре података можемо класификовати у две категорије:

  1. Примитивна структура података
  2. Непримитивна структура података

Следећа слика приказује различите класификације структура података.

Увод у структуре података

Слика 2: Класификације структура података

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

    Примитивне структуре податакасу структуре података које се састоје од бројева и знакова који долазе ин-буилт у програме.
  1. Овим структурама података се може манипулисати или њиме директно управљати инструкције на нивоу машине.
  2. Основни типови података као што су Цео број, плутајући, карактер , и Боолеан спадају под Примитивне структуре података.
  3. Ови типови података се такође називају Једноставни типови података , јер садрже знакове који се не могу даље делити

Непримитивне структуре података

    Непримитивне структуре податакасу оне структуре података изведене из примитивних структура података.
  1. Овим структурама података се не може манипулисати или управљати директно упутствима на нивоу машине.
  2. Фокус ових структура података је на формирању скупа елемената података који је или хомоген (исти тип података) или хетерогена (различити типови података).
  3. На основу структуре и распореда података, ове структуре података можемо поделити у две поткатегорије -
    1. Линеарне структуре података
    2. Нелинеарне структуре података

Линеарне структуре података

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

На основу алокације меморије, линеарне структуре података се даље класификују у два типа:

    Статичке структуре података:Структуре података које имају фиксну величину познате су као статичке структуре података. Меморија за ове структуре података се додељује у време компајлера, а њихову величину корисник не може променити након превођења; међутим, подаци који се налазе у њима могу се мењати.
    Тхе Низ је најбољи пример статичке структуре података јер имају фиксну величину, а њени подаци се касније могу мењати.Динамичке структуре података:Структуре података које имају динамичку величину познате су као динамичке структуре података. Меморија ових структура података се додељује у време извршавања, а њихова величина варира током времена извршавања кода. Штавише, корисник може да промени величину као и елементе података који се чувају у овим структурама података у време извршавања кода.
    Повезане листе, стекови , и Таилс су уобичајени примери динамичких структура података

Типови линеарних структура података

Следи листа линеарних структура података које обично користимо:

висина помака

1. Низови

Ан Низ је структура података која се користи за прикупљање више елемената података истог типа у једну променљиву. Уместо да складиштимо више вредности истих типова података у засебним називима променљивих, могли бисмо их све заједно ускладиштити у једну променљиву. Ова изјава не значи да ћемо морати да објединимо све вредности истог типа података у било ком програму у један низ тог типа података. Али често ће бити тренутака када су неке специфичне варијабле истих типова података све повезане једна са другом на начин прикладан за низ.

Низ је листа елемената где сваки елемент има јединствено место на листи. Елементи података низа деле исто име променљиве; међутим, сваки носи различит број индекса који се назива индекс. Можемо приступити било ком елементу података са листе уз помоћ његове локације на листи. Дакле, кључна карактеристика низова за разумевање је да се подаци чувају на суседним меморијским локацијама, што омогућава корисницима да прелазе кроз елементе података низа користећи њихове одговарајуће индексе.

Увод у структуре података

Слика 3. Ан Арраи

Низови се могу класификовати у различите типове:

    Једнодимензионални низ:Низ са само једним редом елемената података познат је као једнодимензионални низ. Чува се на растућој локацији за складиштење.Дводимензионални низ:Низ који се састоји од више редова и колона елемената података назива се дводимензионални низ. Такође је познат као матрикс.Вишедимензионални низ:Вишедимензионални низ можемо дефинисати као низ низова. Вишедимензионални низови нису ограничени на два индекса или две димензије јер могу укључивати онолико индекса колико је потребно.

Неке примене низа:

  1. Можемо да ускладиштимо листу елемената података који припадају истом типу података.
  2. Низ служи као помоћно складиште за друге структуре података.
  3. Низ такође помаже у складиштењу елемената података бинарног стабла са фиксним бројем.
  4. Низ такође делује као складиште матрица.

2. Повезане листе

А Повезана листа је још један пример линеарне структуре података која се користи за динамичко складиштење колекције елемената података. Елементи података у овој структури података су представљени чворовима, повезаним помоћу веза или показивача. Сваки чвор садржи два поља, информативно поље се састоји од стварних података, а поље показивача се састоји од адреса наредних чворова на листи. Показивач последњег чвора повезане листе састоји се од нултог показивача, јер не указује на ништа. За разлику од низова, корисник може динамички прилагодити величину повезане листе према захтевима.

Увод у структуре података

Слика 4. Повезана листа

Повезане листе се могу класификовати у различите типове:

    Једноструко повезана листа:Једноструко повезана листа је најчешћи тип повезане листе. Сваки чвор има податке и поље показивача које садржи адресу следећег чвора.Двоструко повезана листа:Двоструко повезана листа се састоји од информационог поља и два поља показивача. Информационо поље садржи податке. Прво поље показивача садржи адресу претходног чвора, док друго поље показивача садржи референцу на следећи чвор. Дакле, можемо ићи у оба смера (назад и напред).Кружна повезана листа:Кружна повезана листа слична је појединачно повезаној листи. Једина кључна разлика је у томе што последњи чвор садржи адресу првог чвора, формирајући кружну петљу у кружној повезаној листи.

Неке примене повезаних листа:

  1. Повезане листе нам помажу да имплементирамо стекове, редове, бинарна стабла и графиконе унапред дефинисане величине.
  2. Такође можемо имплементирати функцију оперативног система за динамичко управљање меморијом.
  3. Повезане листе такође дозвољавају полиномску имплементацију за математичке операције.
  4. Можемо користити кружну повезану листу за имплементацију оперативних система или апликативних функција које кружно извршавају задатке.
  5. Кружна повезана листа је такође корисна у пројекцији слајдова у којој корисник захтева да се врати на први слајд након што се прикаже последњи слајд.
  6. Двоструко повезана листа се користи за имплементацију дугмади за напред и назад у претраживачу за кретање напред и назад на отвореним страницама веб локације.

3. Стацкс

А Гомила је линеарна структура података која прати ЛИФО (Ласт Ин, Фирст Оут) принцип који дозвољава операције као што су уметање и брисање са једног краја стека, тј. Стекови се могу имплементирати уз помоћ континуалне меморије, низа и неконтинуалне меморије, повезане листе. Примери стекова из стварног живота су гомиле књига, шпил карата, гомиле новца и још много тога.

искључивање режима програмера
Увод у структуре података

Слика 5. Пример стека из стварног живота

Горња слика представља пример из стварног живота стека где се операције изводе само са једног краја, као што је уметање и уклањање нових књига са врха стека. То подразумева да се уметање и брисање у стек може извршити само са врха стека. У сваком тренутку можемо приступити само врховима стека.

Примарне операције у стеку су следеће:

    гурање:Операција за уметање новог елемента у стек се назива Пусх операција.поп:Операција уклањања или брисања елемената из стека назива се искачућим операцијама.
Увод у структуре података

Слика 6. А Стацк

Неке примене стекова:

  1. Стацк се користи као привремена структура складиштења за рекурзивне операције.
  2. Стацк се такође користи као помоћна структура складиштења за позиве функција, угнежђене операције и одложене/одложене функције.
  3. Можемо управљати позивима функција користећи Стацкс.
  4. Стекови се такође користе за процену аритметичких израза у различитим програмским језицима.
  5. Стекови су такође корисни у претварању инфиксних израза у постфикс изразе.
  6. Стекови нам омогућавају да проверимо синтаксу израза у програмском окружењу.
  7. Можемо да ускладимо заграде помоћу Стацкс.
  8. Стогови се могу користити за обрнути низ.
  9. Стекови су корисни у решавању проблема заснованих на враћању уназад.
  10. Можемо да користимо стекове у претрази у дубину у обиласку графикона и стабла.
  11. Стекови се такође користе у функцијама оперативног система.
  12. Стекови се такође користе у функцијама УНДО и РЕДО у уређивању.

4. Репови

А Куеуе је линеарна структура података слична стеку са неким ограничењима на уметање и брисање елемената. Уметање елемента у Ред се врши на једном крају, а уклањање на другом или супротном крају. Дакле, можемо закључити да структура података Куеуе прати ФИФО (Фирст Ин, Фирст Оут) принцип за манипулисање елементима података. Имплементација редова се може обавити помоћу низова, повезаних листа или стекова. Неки примери редова из стварног живота су ред на шалтеру карата, покретне степенице, перионица аутомобила и још много тога.

Увод у структуре података

Слика 7. Пример реда из стварног живота

преордер траверсал

Горња слика је илустрација из стварног живота шалтера карата за биоскоп који нам може помоћи да разумемо Ред у коме се клијент који први дође увек услужи први. Купац који последњи стигне несумњиво ће бити услужен последњи. Оба краја реда су отворена и могу извршити различите операције. Други пример је линија за храну где се купац убацује са задње стране, док се купац уклања на предњем крају након пружања услуге коју су тражили.

Следеће су примарне операције реда:

    ред у реду:Уметање или додавање неких елемената података у ред се зове Енкуеуе. Уметање елемента се увек врши уз помоћ задњег показивача.Декуеуе:Брисање или уклањање елемената података из реда се назива Декуеуе. Брисање елемента се увек врши уз помоћ предњег показивача.
Увод у структуре података

Фигура 8. Куеуе

Неке примене редова:

  1. Редови се обично користе у операцији претраживања ширине у Графовима.
  2. Редови се такође користе у операцијама планирања послова оперативних система, као што је ред међубафера тастатуре за чување тастера које су притиснули корисници и ред за штампање бафера за чување докумената које штампач штампа.
  3. Редови су одговорни за заказивање ЦПУ-а, заказивање послова и заказивање диска.
  4. Приоритетни редови се користе у операцијама преузимања датотека у претраживачу.
  5. Редови се такође користе за пренос података између периферних уређаја и ЦПУ-а.
  6. Редови су такође одговорни за руковање прекидима које генеришу корисничке апликације за ЦПУ.

Нелинеарне структуре података

Нелинеарне структуре података су структуре података у којима елементи података нису распоређени у секвенцијалном редоследу. Овде убацивање и уклањање података није изводљиво на линеаран начин. Постоји хијерархијски однос између појединачних ставки података.

Типови нелинеарних структура података

Следи листа нелинеарних структура података које обично користимо:

1. Дрвеће

Стабло је нелинеарна структура података и хијерархија која садржи колекцију чворова тако да сваки чвор стабла чува вредност и листу референци на друге чворове („деца“).

Структура података у облику дрвета је специјализована метода за сређивање и прикупљање података у рачунару како би се ефикасније користили. Садржи централни чвор, структурне чворове и подчворове повезане преко ивица. Такође можемо рећи да се структура података дрвета састоји од повезаних корена, грана и листова.

Увод у структуре података

Слика 9. Дрво

Дрвеће се може поделити у различите врсте:

    Бинарно дрво:Структура података дрвета у којој сваки родитељски чвор може имати највише два детета назива се бинарним стаблом.Бинарно стабло претраге:Бинарно стабло претраге је структура података у облику стабла где лако можемо одржавати сортирану листу бројева.АВЛ стабло:АВЛ стабло је самобалансирајуће стабло бинарног претраживања где сваки чвор одржава додатне информације познате као фактор равнотеже чија је вредност или -1, 0 или +1.Б-дрво:Б-стабло је посебан тип самобалансирајућег бинарног стабла претраге где се сваки чвор састоји од више кључева и може имати више од два детета.

Неке примене дрвећа:

  1. Дрвеће имплементира хијерархијске структуре у рачунарским системима као што су директоријуми и системи датотека.
  2. Дрвеће се такође користи за имплементацију структуре навигације веб локације.
  3. Можемо да генеришемо код као што је Хафманов код користећи Треес.
  4. Дрвеће је такође од помоћи у доношењу одлука у апликацијама за игре.
  5. Стабла су одговорна за имплементацију приоритетних редова за функције распоређивања ОС-а засноване на приоритетима.
  6. Стабла су такође одговорна за рашчлањивање израза и исказа у компајлерима различитих програмских језика.
  7. Можемо да користимо стабла за складиштење кључева података за индексирање за систем управљања базом података (ДБМС).
  8. Спаннинг Треес нам омогућава да усмеравамо одлуке у рачунарским и комуникационим мрежама.
  9. Дрвеће се такође користи у алгоритму за проналажење путање имплементираном у апликацијама за вештачку интелигенцију (АИ), роботику и видео игре.

2. Графикони

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

Структура података графикона, Г се сматра математичком структуром која се састоји од скупа врхова, В и скупа ивица, Е као што је приказано у наставку:

Г = (В,Е)

урфи јавед
Увод у структуре података

Слика 10. А Грапх

Горња слика представља граф који има седам врхова А, Б, Ц, Д, Е, Ф, Г и десет ивица [А, Б], [А, Ц], [Б, Ц], [Б, Д], [Б, Е], [Ц, Д], [Д, Е], [Д, Ф], [Е, Ф] и [Е, Г].

У зависности од положаја врхова и ивица, графови се могу класификовати у различите типове:

    Нулл Грапх:Граф са празним скупом ивица назива се нулти граф.Тривијални графикон:Граф који има само један врх назива се Тривијални граф.Једноставан графикон:Граф који нема ни петље ни вишеструке ивице познат је као једноставан граф.Више графикона:За граф се каже да је вишеструки ако се састоји од више ивица, али нема самопетљи.Псеудо графикон:Граф са самопетљама и вишеструким ивицама назива се псеудо граф.Неусмерени графикон:Граф који се састоји од неусмерених ивица познат је као неусмерени граф.Усмерени графикон:Граф који се састоји од усмерених ивица између врхова познат је као усмерени граф.Повезани графикон:Граф са најмање једном путањом између сваког пара врхова назива се повезаним графом.Графикон искључене везе:Граф где не постоји никаква путања између најмање једног пара темена назива се неповезани граф.Редовни графикон:Граф где сви врхови имају исти степен назива се регуларни граф.Комплетан графикон:Граф у коме сви врхови имају ивицу између сваког пара темена познат је као комплетан граф.Графикон циклуса:За граф се каже да је циклус ако има најмање три темена и ивице које чине циклус.Циклични графикон:За граф се каже да је цикличан ако и само ако постоји бар један циклус.Ациклични графикон:Граф који има нула циклуса назива се ациклички граф.Коначан графикон:Граф са коначним бројем врхова и ивица познат је као коначни граф.Бесконачан графикон:Граф са бесконачним бројем врхова и ивица познат је као бесконачан граф.Бипартитни графикон:Граф где се темени могу поделити на независне скупове А и Б, а сви врхови скупа А треба да буду повезани само са врховима присутним у скупу Б са неким ивицама назива се дводелни граф.Планарни графикон:За граф се каже да је планар ако га можемо нацртати у једној равни са две ивице које се секу једна другу.Ојлеров граф:За граф се каже да је Ојлер ако и само ако су сви врхови парни степени.Хамилтонов графикон:Повезани граф који се састоји од Хамилтоновог кола познат је као Хамилтонов граф.

Неке примене графикона:

  1. Графикони нам помажу да представимо руте и мреже у апликацијама за транспорт, путовања и комуникације.
  2. Графикони се користе за приказ рута у ГПС-у.
  3. Графикони нам такође помажу да представимо међусобне везе у друштвеним мрежама и другим апликацијама заснованим на мрежи.
  4. Графови се користе у апликацијама за мапирање.
  5. Графикони су одговорни за представљање преференција корисника у апликацијама за е-трговину.
  6. Графикони се такође користе у комуналним мрежама како би се идентификовали проблеми који се јављају локалним или општинским корпорацијама.
  7. Графикони такође помажу да се управља коришћењем и доступношћу ресурса у организацији.
  8. Графови се такође користе за прављење мапа веза до докумената на веб локацијама како би се приказала повезаност између страница путем хиперлинкова.
  9. Графови се такође користе у роботским покретима и неуронским мрежама.

Основне операције структура података

У следећем одељку ћемо разговарати о различитим типовима операција које можемо да извршимо да бисмо манипулисали подацима у свакој структури података:

    Прелазак:Пролазак кроз структуру података значи приступ сваком елементу података тачно једном како би се њиме могло администрирати. На пример, прелазак је потребан док се штампају имена свих запослених у одељењу.Претрага:Претрага је још једна операција структуре података која значи проналажење локације једног или више елемената података који испуњавају одређена ограничења. Такав елемент података може или не мора бити присутан у датом скупу елемената података. На пример, можемо да користимо операцију претраге да пронађемо имена свих запослених који имају више од 5 година искуства.Уметање:Уметање значи уметање или додавање нових елемената података у колекцију. На пример, можемо да користимо операцију уметања да бисмо додали детаље о новом запосленом које је компанија недавно запослила.Брисање:Брисање значи уклањање или брисање одређеног елемента података са дате листе елемената података. На пример, можемо користити операцију брисања да избришемо име запосленог који је напустио посао.сортирање:Сортирање значи распоређивање елемената података у растућем или опадајућем редоследу у зависности од типа апликације. На пример, можемо користити операцију сортирања да поређамо имена запослених у одељењу по абецедном реду или проценимо три најбоља извођача у месецу тако што ћемо распоредити учинак запослених у опадајућем редоследу и издвојити детаље о прва три.Споји:Спајање значи комбиновање елемената података две сортиране листе како би се формирала јединствена листа сортираних елемената података.Креирај:Креирај је операција која се користи за резервисање меморије за елементе података програма. Ову операцију можемо да изведемо користећи изјаву за декларацију. Креирање структуре података може се десити током следећег:
    1. Време компајлирања
    2. Рун-тиме
      На пример, тхе маллоц() функција се користи у језику Ц за креирање структуре података.
    Избор:Селекција значи одабир одређеног податка из доступних података. Можемо изабрати било који одређени податак тако што ћемо специфицирати услове унутар петље.Ажурирање:Операција ажурирања нам омогућава да ажурирамо или изменимо податке у структури података. Такође можемо ажурирати било које одређене податке тако што ћемо специфицирати неке услове унутар петље, као што је операција одабира.Подела:Операција раздвајања нам омогућава да поделимо податке на различите подделове смањујући укупно време завршетка процеса.

Разумевање апстрактног типа података

Према Национални институт за стандарде и технологију (НИСТ) , структура података је распоред информација, углавном у меморији, ради боље ефикасности алгоритма. Структуре података укључују повезане листе, стекове, редове, стабла и речнике. Они такође могу бити теоретски ентитет, попут имена и адресе особе.

Из горе поменуте дефиниције можемо закључити да операције у структури података укључују:

  1. Висок ниво апстракција као што је додавање или брисање ставке са листе.
  2. Претраживање и сортирање ставке на листи.
  3. Приступ ставци највишег приоритета на листи.

Кад год структура података ради такве операције, позната је као Апстрактни тип података (АДТ) .

Можемо га дефинисати као скуп елемената података заједно са операцијама над подацима. Термин 'апстрактан' се односи на чињеницу да се подаци и фундаменталне операције дефинисане на њима проучавају независно од њихове имплементације. То укључује шта можемо да урадимо са подацима, а не како то можемо да урадимо.

АДИ имплементација садржи структуру складиштења у циљу складиштења елемената података и алгоритама за фундаменталне операције. Све структуре података, као што су низ, повезана листа, ред, стек, итд., су примери АДТ-а.

Разумевање предности коришћења АДТ-а

У стварном свету, програми се развијају као последица нових ограничења или захтева, тако да модификација програма генерално захтева промену једне или више структура података. На пример, претпоставимо да желимо да убацимо ново поље у евиденцију запосленог да бисмо пратили више детаља о сваком запосленом. У том случају можемо побољшати ефикасност програма заменом низа са повезаном структуром. У таквој ситуацији, преписивање сваке процедуре која користи модификовану структуру није прикладно. Стога је боља алтернатива одвојити структуру података од информација о њеној имплементацији. Ово је принцип који стоји иза употребе апстрактних типова података (АДТ).

Неке примене структура података

Следе неке примене структура података:

  1. Структуре података помажу у организацији података у меморији рачунара.
  2. Структуре података такође помажу у представљању информација у базама података.
  3. Структуре података омогућавају имплементацију алгоритама за претрагу података (на пример, претраживач).
  4. Можемо да користимо структуре података за имплементацију алгоритама за манипулацију подацима (на пример, програми за обраду текста).
  5. Такође можемо да имплементирамо алгоритме за анализу података користећи структуре података (на пример, рудари података).
  6. Структуре података подржавају алгоритме за генерисање података (на пример, генератор случајних бројева).
  7. Структуре података такође подржавају алгоритме за компримовање и декомпресију података (на пример, зип услужни програм).
  8. Такође можемо да користимо структуре података за имплементацију алгоритама за шифровање и дешифровање података (на пример, безбедносни систем).
  9. Уз помоћ структура података, можемо да направимо софтвер који може да управља датотекама и директоријумима (на пример, менаџер датотека).
  10. Такође можемо да развијемо софтвер који може да прикаже графику користећи структуре података. (На пример, веб прегледач или софтвер за 3Д рендеровање).

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