logo

Duomenų struktūrų tipai, klasifikacijos ir taikymas

Kas yra duomenų struktūra:

Duomenų struktūra yra saugykla, naudojama duomenims saugoti ir tvarkyti. Tai būdas sutvarkyti duomenis kompiuteryje, kad juos būtų galima efektyviai pasiekti ir atnaujinti.

Duomenų struktūra naudojama ne tik duomenims tvarkyti. Jis taip pat naudojamas duomenims apdoroti, nuskaityti ir saugoti. Beveik kiekvienoje sukurtoje programoje ar programinės įrangos sistemoje naudojamos skirtingos pagrindinės ir išplėstinės duomenų struktūrų rūšys. Taigi turime gerai išmanyti duomenų struktūras.



Duomenų struktūros yra neatskiriama kompiuterių, naudojamų duomenims atmintyje išdėstyti, dalis. Jie yra būtini ir atsakingi už efektyvų duomenų tvarkymą, apdorojimą, prieigą ir saugojimą. Bet tai nėra visi. Įvairių tipų duomenų struktūros turi savo ypatybes, ypatybes, programas, privalumus ir trūkumus. Taigi, kaip nustatyti duomenų struktūrą, tinkančią konkrečiai užduočiai? Ką reiškia terminas „duomenų struktūra“? Kiek yra duomenų struktūrų tipų ir kam jos naudojamos?

Kas yra duomenų struktūra: tipai, klasifikacijos ir programos

Kas yra duomenų struktūra: tipai, klasifikacijos ir programos

Mes jus apėmėme. Sudarėme visą sąrašą, kas yra duomenų struktūra, kokie yra duomenų struktūrų tipai, duomenų struktūrų klasifikacija, kiekvienos duomenų struktūros pritaikymas ir pan. Šiame straipsnyje aptarsime kiekvieną kiekvienos duomenų struktūros aspektą, kad per kelias minutes galėtumėte pasirinkti geriausią.



Turinys

Kaip duomenų struktūra skiriasi nuo duomenų tipo:

Mes jau sužinojome apie duomenų struktūrą. Dažnai atsitinka taip, kad žmonės susipainioja tarp duomenų tipo ir duomenų struktūros. Taigi pažvelkime į kelis duomenų tipo ir duomenų struktūros skirtumus, kad tai būtų aišku.

Duomenų tipas



Duomenų struktūra

Duomenų tipas yra kintamojo, kuriam galima priskirti reikšmę, forma. Tai apibrėžia, kad konkretus kintamasis priskirs tik nurodyto duomenų tipo reikšmes.

Duomenų struktūra – tai įvairių rūšių duomenų rinkinys. Visi duomenys gali būti pavaizduoti naudojant objektą ir gali būti naudojami visoje programoje.

Jis gali turėti vertę, bet ne duomenis. Todėl jis yra be duomenų.

Viename objekte gali būti kelių tipų duomenys.

Duomenų tipo įgyvendinimas yra žinomas kaip abstraktus įgyvendinimas.

linux kaip pervardyti katalogą

Duomenų struktūros įgyvendinimas žinomas kaip konkretus įgyvendinimas.

Duomenų tipų atveju nėra laiko sudėtingumo.

Duomenų struktūros objektuose svarbų vaidmenį atlieka laiko sudėtingumas.

Duomenų tipų atveju duomenų reikšmė nesaugoma, nes ji nurodo tik duomenų, kuriuos galima saugoti, tipą.

Tuo tarpu duomenų struktūrų atveju duomenys ir jų reikšmė užima vietą pagrindinėje kompiuterio atmintyje. Be to, duomenų struktūra viename objekte gali turėti įvairių tipų ir tipų duomenis.

Duomenų tipų pavyzdžiai yra int, float, double ir kt.

Duomenų struktūros pavyzdžiai yra krūva, eilė, medis ir kt.

Duomenų struktūros klasifikacija:

Duomenų struktūra mūsų kasdieniame gyvenime naudojama įvairiai. Yra daug skirtingų duomenų struktūrų, kurios naudojamos įvairioms matematinėms ir loginėms problemoms spręsti. Naudojant duomenų struktūrą, galima sutvarkyti ir apdoroti labai didelį duomenų kiekį per gana trumpą laikotarpį. Pažvelkime į skirtingas duomenų struktūras, kurios naudojamos įvairiose situacijose.

Duomenų struktūros klasifikacija

Duomenų struktūros klasifikacija

  • Linijinė duomenų struktūra: Duomenų struktūra, kurioje duomenų elementai yra išdėstyti nuosekliai arba tiesiškai, kai kiekvienas elementas yra prijungtas prie ankstesnių ir kitų gretimų elementų, vadinama linijine duomenų struktūra.
    Linijinių duomenų struktūrų pavyzdžiai yra masyvas, dėklas, eilė, susietas sąrašas ir kt.
    • Statinė duomenų struktūra: Statinė duomenų struktūra turi fiksuotą atminties dydį. Statinės duomenų struktūros elementus lengviau pasiekti.
      Šios duomenų struktūros pavyzdys yra masyvas.
    • Dinaminė duomenų struktūra: Dinaminėje duomenų struktūroje dydis nėra fiksuotas. Jis gali būti atsitiktinai atnaujintas vykdymo metu, o tai gali būti laikoma veiksminga, atsižvelgiant į kodo atminties (erdvės) sudėtingumą.
      Šios duomenų struktūros pavyzdžiai yra eilė, dėklas ir kt.
  • Netiesinė duomenų struktūra: Duomenų struktūros, kuriose duomenų elementai nėra išdėstyti nuosekliai arba tiesiškai, vadinamos nelinijinėmis duomenų struktūromis. Netiesinėje duomenų struktūroje negalime pereiti visų elementų tik vienu paleidimu.
    Netiesinių duomenų struktūrų pavyzdžiai yra medžiai ir grafikai.

Duomenų poreikis struktūra:

Duomenų struktūra ir algoritmo sintezė yra santykinės viena su kita. Duomenų pateikimas turi būti lengvai suprantamas, kad kūrėjas ir vartotojas galėtų efektyviai įgyvendinti operaciją.
Duomenų struktūros yra paprastas būdas tvarkyti, gauti, tvarkyti ir saugoti duomenis.
Čia pateikiamas duomenų poreikių sąrašas.

  1. Duomenų struktūros modifikavimas yra paprastas.
  2. Tam reikia mažiau laiko.
  3. Sutaupykite vietos atminties atmintyje.
  4. Duomenų pateikimas yra paprastas.
  5. Lengva prieiga prie didelės duomenų bazės.

Masyvai:

Masyvas yra linijinė duomenų struktūra ir tai elementų, saugomų gretimose atminties vietose, rinkinys. Idėja yra vienoje vietoje laikyti kelis to paties tipo elementus. Tai leidžia apdoroti didelį duomenų kiekį per palyginti trumpą laikotarpį. Pirmasis masyvo elementas indeksuojamas 0 indeksu. Masyve galimos įvairios operacijos, pvz., paieška, rūšiavimas, įterpimas, judėjimas, keitimas atgal ir trynimas.

Masyvas

Masyvas

Masyvo charakteristikos:

Masyvas turi įvairias charakteristikas, kurios yra šios:

dvejetainė paieškos python
  • Masyvai naudoja indeksu pagrįstą duomenų struktūrą, kuri padeda lengvai identifikuoti kiekvieną masyvo elementą naudojant indeksą.
  • Jei vartotojas nori išsaugoti kelias to paties tipo duomenų reikšmes, masyvas gali būti efektyviai panaudotas.
  • Masyvas taip pat gali apdoroti sudėtingas duomenų struktūras, saugodamas duomenis dvimačiame masyve.
  • Masyvas taip pat naudojamas kitoms duomenų struktūroms, pvz., Stacks, Queues, Heaps, Hash lentelėms ir tt, įdiegti.
  • Paieškos procesą masyve galima atlikti labai paprastai.

Masyve atliekamos operacijos:

  • Inicijavimas : Masyvas gali būti inicijuotas reikšmėmis deklaravimo metu arba vėliau, naudojant priskyrimo sakinį.
  • Prieiga prie elementų: masyvo elementus galima pasiekti pagal jų indeksą, kuris prasideda nuo 0 ir pasiekia masyvo dydį, atėmus vieną.
  • Elementų paieška : Masyvuose galima ieškoti konkretaus elemento naudojant tiesinės paieškos arba dvejetainės paieškos algoritmus.
  • Elementų rūšiavimas : masyvo elementus galima rūšiuoti didėjančia arba mažėjančia tvarka naudojant tokius algoritmus kaip burbulų rūšiavimas, įterpimo rūšiavimas arba greitasis rūšiavimas.
  • Elementų įterpimas: Elementai gali būti įterpti į masyvą konkrečioje vietoje, tačiau ši operacija gali užtrukti, nes reikia perkelti esamus masyvo elementus.
  • Elementų ištrynimas: Elementus iš masyvo galima ištrinti perkeliant po jo esančius elementus, kad užpildytumėte spragą.
  • Atnaujinami elementai: Masyvo elementus galima atnaujinti arba modifikuoti, konkrečiam indeksui priskiriant naują reikšmę.
  • Perėjimo elementai: Masyvo elementus galima eiti eilės tvarka, kiekvieną elementą aplankant vieną kartą.

Tai yra keletas dažniausiai atliekamų operacijų su masyvais. Naudojamos konkrečios operacijos ir algoritmai gali skirtis priklausomai nuo problemos reikalavimų ir naudojamos programavimo kalbos.

Masyvo programos:

Įvairios masyvo programos yra tokios:

  • Masyvas naudojamas sprendžiant matricos uždavinius.
  • Duomenų bazės įrašus taip pat įgyvendina masyvas.
  • Tai padeda įgyvendinti rūšiavimo algoritmą.
  • Jis taip pat naudojamas kitoms duomenų struktūroms, pvz., Stacks, Queues, Heaps, Hash lentelėms ir kt.
  • Masyvas gali būti naudojamas procesoriaus planavimui.
  • Galima naudoti kaip paieškos lentelę kompiuteriuose.
  • Masyvai gali būti naudojami kalbai apdoroti, kai kiekvienas kalbos signalas yra masyvas.
  • Kompiuterio ekranas taip pat rodomas masyve. Čia mes naudojame daugiamatį masyvą.
  • Masyvas naudojamas daugelyje valdymo sistemų, tokių kaip biblioteka, studentai, parlamentas ir kt.
  • Masyvas naudojamas internetinėje bilietų užsakymo sistemoje. Šiame masyve rodomi kontaktai mobiliajame telefone.
  • Tokiuose žaidimuose kaip internetiniai šachmatai, kur žaidėjas gali saugoti savo ankstesnius ir esamus ėjimus. Tai rodo pozicijos užuominą.
  • Norėdami išsaugoti tam tikro matmens vaizdus „Android“ kaip 360*1200

Realaus gyvenimo masyvo taikymas:

  • Masyvas dažnai naudojamas duomenims saugoti matematiniams skaičiavimams.
  • Jis naudojamas vaizdo apdorojimui.
  • Jis taip pat naudojamas įrašų tvarkymui.
  • Knygų puslapiai taip pat yra realūs masyvo pavyzdžiai.
  • Jis naudojamas ir užsakant dėžutes.

Norite pradėti su masyvais? Galite išbandyti mūsų kuruojamus straipsnius ir geriausios praktikos sąrašus:

  • Įvadas į masyvo duomenų struktūrą
  • 50 populiariausių interviu masyvo kodavimo problemų
  • Praktikuokite masyvo problemą svetainėje techcodeview.com

Susietas sąrašas:

Susietas sąrašas yra linijinė duomenų struktūra, kurios elementai nėra saugomi gretimose atminties vietose. Elementai susietame sąraše yra susieti naudojant nuorodas, kaip parodyta toliau pateiktame paveikslėlyje:

Susietų sąrašų tipai:

  • Atskirai susietas sąrašas
  • Dvigubai susietas sąrašas
  • Aplinkinis susietas sąrašas
  • Dvigubai apskritas susietas sąrašas
Susietas sąrašas

Susietas sąrašas

Susieto sąrašo ypatybės:

Susietas sąrašas pasižymi įvairiomis savybėmis, kurios yra šios:

  • Susietame sąraše nuorodoms saugoti naudojama papildoma atmintis.
  • Inicijuojant susietą sąrašą, nereikia žinoti elementų dydžio.
  • Susieti sąrašai naudojami dėvėms, eilėms, grafikams ir kt.
  • Pirmasis susieto sąrašo mazgas vadinamas Head.
  • Kitas paskutinio mazgo rodyklė visada rodo NULL.
  • Į susietą sąrašą galima lengvai įterpti ir ištrinti.
  • Kiekvienas susieto sąrašo mazgas susideda iš rodyklės / nuorodos, kuri yra kito mazgo adresas.
  • Susieti sąrašai bet kuriuo metu gali lengvai susitraukti arba didėti.

Susietų sąraše atliktos operacijos:

Susietas sąrašas yra linijinė duomenų struktūra, kurioje kiekviename mazge yra reikšmė ir nuoroda į kitą mazgą. Štai keletas bendrų operacijų, atliekamų susietuose sąrašuose:

  • Inicijavimas: Susietą sąrašą galima inicijuoti sukuriant pagrindinį mazgą su nuoroda į pirmąjį mazgą. Kiekviename paskesniame mazge yra reikšmė ir nuoroda į kitą mazgą.
  • Elementų įterpimas: Elementai gali būti įterpti prie galvos, uodegos arba konkrečioje susieto sąrašo vietoje.
  • Elementų ištrynimas : Elementus galima ištrinti iš susieto sąrašo atnaujinus ankstesnio mazgo nuorodą, kad būtų nukreiptas į kitą mazgą, veiksmingai pašalinant dabartinį mazgą iš sąrašo.
  • Elementų paieška : susietuose sąrašuose galima ieškoti konkretaus elemento, pradedant nuo pagrindinio mazgo ir sekant nuorodas į kitus mazgus, kol bus rastas norimas elementas.
  • Elementų atnaujinimas : susieto sąrašo elementus galima atnaujinti pakeitus konkretaus mazgo reikšmę.
  • Perėjimo elementai: Susieto sąrašo elementus galima pereiti pradedant nuo pagrindinio mazgo ir vadovaujantis nuorodomis į kitus mazgus, kol pasiekiama sąrašo pabaiga.
  • Atšaukiamas susietas sąrašas : susietą sąrašą galima apversti atnaujinus kiekvieno mazgo nuorodas, kad jos nukreiptų į ankstesnį mazgą, o ne į kitą mazgą.

Tai yra keletas dažniausiai atliekamų operacijų, susijusių su susietais sąrašais. Naudojamos konkrečios operacijos ir algoritmai gali skirtis priklausomai nuo problemos reikalavimų ir naudojamos programavimo kalbos.

Susieto sąrašo programos:

Skirtingos susietų sąrašų programos yra tokios:

  • Susieti sąrašai naudojami dėvėms, eilėms, grafikams ir kt.
  • Susieti sąrašai naudojami aritmetinėms operacijoms su ilgais sveikaisiais skaičiais atlikti.
  • Jis naudojamas retoms matricoms pavaizduoti.
  • Jis naudojamas susietam failų paskirstymui.
  • Tai padeda valdyti atmintį.
  • Jis naudojamas daugianario manipuliavimo vaizde, kai kiekvienas daugianario terminas reiškia mazgą susietame sąraše.
  • Vaizdų konteineriams rodyti naudojami susieti sąrašai. Vartotojai gali aplankyti buvusius, esamus ir kitus vaizdus.
  • Jie naudojami lankomo puslapio istorijai saugoti.
  • Jie naudojami anuliavimo operacijoms atlikti.
  • Susieti naudojami kuriant programinę įrangą, kur jie nurodo teisingą žymos sintaksę.
  • Susieti sąrašai naudojami socialinės žiniasklaidos kanalams rodyti.

Realiosios susieto sąrašo programos:

  • Susietas sąrašas naudojamas „Round-Robin“ tvarkaraščiuose, kad būtų galima stebėti kelių žaidėjų žaidimo eigą.
  • Jis naudojamas vaizdų peržiūros programoje. Ankstesni ir kiti vaizdai yra susieti, todėl juos galima pasiekti naudojant ankstesnį ir kitą mygtukus.
  • Muzikos grojaraštyje dainos susietos su ankstesnėmis ir kitomis dainomis.

Norite pradėti nuo susieto sąrašo? Galite išbandyti mūsų kuruojamus straipsnius ir geriausios praktikos sąrašus:

  • Susieto sąrašo duomenų struktūros įvadas
  • 20 populiariausių susietų interviu klausimų sąrašo
  • Praktikuokite susieto sąrašo problemą svetainėje techcodeview.com

Stack:

Stack yra linijinė duomenų struktūra, kuri atitinka tam tikrą operacijų atlikimo tvarką. Užsakymas yra LIFO (paskutinis pirmas) . Įvesti ir gauti duomenis galima tik iš vieno galo. Duomenų įvedimas ir gavimas taip pat vadinamas „push and pop“ operacija krūvoje. Krūve galimos įvairios operacijos, pvz., krūvos apvertimas naudojant rekursiją, rūšiavimas, vidurinio krūvos elemento ištrynimas ir kt.

Stack

Stacko charakteristikos:

Stack turi įvairių skirtingų savybių, kurios yra šios:

  • Stackas naudojamas daugelyje skirtingų algoritmų, tokių kaip Hanojaus bokštas, medžio apvažiavimas, rekursija ir kt.
  • Stack įgyvendinamas per masyvą arba susietą sąrašą.
  • Tai atliekama pagal operaciją Last In First Out, t. y. elementas, kuris įterptas pirmas, bus įtrauktas paskutinis ir atvirkščiai.
  • Įterpimas ir ištrynimas atliekami viename gale, ty iš krūvos viršaus.
  • Jei krūvoje skirta vieta yra pilna, bet kas nors bandys pridėti daugiau elementų, dėklas bus perpildytas.

Stack programos:

Įvairios „Stack“ programos yra tokios:

  • Duomenų krūvos struktūra naudojama vertinant ir konvertuojant aritmetines išraiškas.
  • Jis naudojamas skliausteliams tikrinti.
  • Keičiant eilutę taip pat naudojamas kaminas.
  • Stack naudojamas atminties valdymui.
  • Jis taip pat naudojamas funkcijų skambučiams apdoroti.
  • Stackas naudojamas posakiams konvertuoti iš infix į postfix.
  • Krūvas naudojamas anuliavimo ir perdarymo operacijoms atlikti tekstų rengyklėse.
  • Stackas naudojamas virtualiose mašinose, tokiose kaip JVM.
  • Stackas naudojamas medijos leistuviuose. Naudinga groti kitą ir ankstesnę dainą.
  • Stackas naudojamas rekursinėse operacijose.

Operacija atliekama ant krūvos ;

Stackas yra linijinė duomenų struktūra, įgyvendinanti LIFO (Last-In-First-Out) principą. Štai keletas įprastų operacijų, atliekamų su krūvelėmis:

  • Stumti : elementus galima įstumti į krūvos viršų, pridedant naują elementą prie krūvos viršaus.
  • Pop : Viršutinį elementą galima pašalinti iš krūvos, atlikus iššokimo operaciją, efektyviai pašalinant paskutinį elementą, kuris buvo įstumtas į krūvą.
  • Žvilgtelėti: Viršutinį elementą galima apžiūrėti nepaimant jo iš kamino, naudojant žvilgtelėjimo operaciją.
  • Yra tuščias : galima patikrinti, ar krūva tuščia.
  • Dydis : elementų skaičių krūvoje galima nustatyti naudojant dydžio operaciją.

Tai yra keletas dažniausiai atliekamų operacijų su kaminais. Naudojamos konkrečios operacijos ir algoritmai gali skirtis priklausomai nuo problemos reikalavimų ir naudojamos programavimo kalbos. Stackai dažniausiai naudojami tokiose programose kaip išraiškų įvertinimas, funkcijų iškvietimų dėvų diegimas kompiuterinėse programose ir daugelyje kitų.

Realaus gyvenimo „Stack“ programos:

  • Realus krūvos pavyzdys yra vienas virš kito išdėliotas valgymo lėkščių sluoksnis. Kai išimsite lėkštę iš krūvos, galite paimti lėkštę į krūvos viršų. Bet kaip tik tokia lėkštė buvo įdėta į krūvą visai neseniai. Jei norite, kad plokštė būtų krūvos apačioje, turite pašalinti visas ant jos esančias plokštes, kad ją pasiektumėte.
  • Naršyklės naudoja kamino duomenų struktūras, kad galėtų sekti anksčiau lankytas svetaines.
  • Skambučių žurnale mobiliajame telefone taip pat naudojama kamino duomenų struktūra.

Norite pradėti dirbti su Stack? Galite išbandyti mūsų kuruojamus straipsnius ir geriausios praktikos sąrašus:

deterministiniai baigtiniai automatai
  • Praktikuokite „Stack“ problemą svetainėje techcodeview.com

Eilė:

Eilė yra linijinė duomenų struktūra, kuri atitinka tam tikrą operacijų atlikimo tvarką. Užsakymas yra „First In First Out“ (FIFO) y., pirmiausia bus pasiekiamas pirmas saugomas duomenų elementas. Šiuo atveju duomenys įvedami ir gaunami ne tik iš vieno galo. Eilės pavyzdys yra bet kokia išteklių vartotojų eilė, kurioje pirmasis aptarnaujamas vartotojas, kuris buvo pirmasis. Eilėje atliekamos įvairios operacijos, pvz., eilės apvertimas (su rekursija arba nenaudojant), pirmųjų K eilės elementų atšaukimas ir tt Kelios pagrindinės operacijos, atliekamos eilėje, yra eilė, eilė, priekinė, galinė ir kt.

Eilė

Eilės ypatybės:

Eilė turi įvairių skirtingų savybių, kurios yra šios:

  • Eilė yra FIFO (First In First Out) struktūra.
  • Norint pašalinti paskutinį eilės elementą, visi elementai, įterpti prieš naują eilės elementą, turi būti pašalinti.
  • Eilė yra sutvarkytas panašių duomenų tipų elementų sąrašas.

Eilės programos:

Skirtingos eilės programos yra šios:

  • Eilė naudojama svetainės srautui tvarkyti.
  • Tai padeda išlaikyti grojaraštį medijos leistuve.
  • Eilė naudojama operacinėse sistemose pertraukimams tvarkyti.
  • Tai padeda aptarnauti užklausas viename bendrame išteklyje, pvz., spausdintuve, procesoriaus užduočių planavime ir kt.
  • Jis naudojamas asinchroniniam duomenų perdavimui pvz. vamzdžiai, failas IO ir lizdai.
  • Eilės naudojamos užduočių planavimui operacinėje sistemoje.
  • Socialinėje žiniasklaidoje kelių nuotraukų ar vaizdo įrašų įkėlimui naudojama eilė.
  • El. pašto siuntimui naudojama duomenų struktūra.
  • Svetainės srautui valdyti vienu metu naudojamos eilės.
  • „Windows“ operacinėje sistemoje, norėdami perjungti kelias programas.

Eilėje atlikta operacija:

Eilė yra linijinė duomenų struktūra, įgyvendinanti FIFO (First-In-First-Out) principą. Štai keletas įprastų operacijų, atliekamų su eilėmis:

  • Eilė : Elementus galima pridėti prie eilės galo, pridedant naują elementą prie eilės pabaigos.
  • Atitinkamai : Priekinis elementas gali būti pašalintas iš eilės, atlikus ištraukimo iš eilės operaciją, efektyviai pašalinant pirmąjį elementą, kuris buvo įtrauktas į eilę.
  • Žvilgtelėti : Priekinį elementą galima apžiūrėti nepašalinant iš eilės, naudojant žvilgtelėjimo operaciją.
  • Yra tuščias : galima patikrinti, ar eilė tuščia.
  • Dydis : Elementų skaičių eilėje galima nustatyti naudojant dydžio operaciją.

Tai yra keletas dažniausiai atliekamų operacijų eilėse. Naudojamos konkrečios operacijos ir algoritmai gali skirtis priklausomai nuo problemos reikalavimų ir naudojamos programavimo kalbos. Eilės dažniausiai naudojamos tokiose programose kaip užduočių planavimas, komunikacijos tarp procesų valdymas ir daugelyje kitų.

Realios eilės programos:

  • Realus eilės pavyzdys yra vienos juostos vienos krypties kelias, kai pirmoji įvažiuojanti transporto priemonė išvažiuoja pirmoji.
  • Realesnį pavyzdį galima pamatyti eilėje prie bilietų langų.
  • Kasos eilė parduotuvėje taip pat yra eilės pavyzdys.
  • Žmonės ant eskalatoriaus

Norite pradėti naudoti eilę? Galite išbandyti mūsų kuruojamus straipsnius ir geriausios praktikos sąrašus:

  • Praktikuokite eilės problemą svetainėje techcodeview.com

Medis:

Medis yra netiesinė ir hierarchinė duomenų struktūra, kurios elementai yra išdėstyti į medį panašia struktūra. Medyje aukščiausias mazgas vadinamas šaknies mazgu. Kiekviename mazge yra tam tikrų duomenų, o duomenys gali būti bet kokio tipo. Jį sudaro centrinis mazgas, struktūriniai mazgai ir submazgiai, sujungti kraštais. Skirtingos medžio duomenų struktūros leidžia greičiau ir lengviau pasiekti duomenis, nes tai yra nelinijinė duomenų struktūra. Medis turi įvairių terminų, tokių kaip mazgas, šaknis, kraštas, medžio aukštis, medžio laipsnis ir kt.

Yra įvairių rūšių medžių

Medis

Medis

Medžio charakteristikos:

Medis turi daug skirtingų savybių, kurios yra šios:

  • Medis taip pat žinomas kaip rekursinė duomenų struktūra.
  • Medyje šaknies aukštį galima apibrėžti kaip ilgiausią kelią nuo šaknies mazgo iki lapo mazgo.
  • Medyje taip pat galima apskaičiuoti gylį nuo viršūnės iki bet kurio mazgo. Šakninio mazgo gylis yra 0.

Medžio pritaikymas:

Įvairūs medžio panaudojimo būdai yra tokie:

  • Krūva yra medžio duomenų struktūra, kuri įgyvendinama naudojant masyvus ir naudojama prioritetinėms eilėms įgyvendinti.
  • B-Tree ir B+ Tree naudojami indeksavimui duomenų bazėse įgyvendinti.
  • Sintaksės medis padeda nuskaityti, analizuoti, generuoti kodą ir įvertinti aritmetines išraiškas kompiliatoriaus projekte.
  • K-D medis yra erdvės skaidymo medis, naudojamas taškams organizuoti K matmenų erdvėje.
  • Kompiuterių tinklų maršrutizatoriuose naudojami medžiai.

Operacija atlikta ant medžio:

Medis yra nelinijinė duomenų struktūra, kurią sudaro briaunomis sujungti mazgai. Štai keletas įprastų operacijų, atliekamų su medžiais:

  • Įdėjimas : Prie medžio galima pridėti naujų mazgų, kad būtų sukurta nauja šaka arba padidintas medžio aukštis.
  • Ištrynimas : Mazgus galima pašalinti iš medžio atnaujinus pirminio mazgo nuorodas, kad būtų pašalinta nuoroda į dabartinį mazgą.
  • Paieška : Elementų galima ieškoti medyje pradedant nuo šaknies mazgo ir einant per medį pagal dabartinio mazgo reikšmę, kol randamas norimas mazgas.
  • Perėjimas : Elementai medyje gali būti perkeliami keliais skirtingais būdais, įskaitant judėjimą pagal užsakymą, išankstinį užsakymą ir po užsakymo.
  • Aukštis : Medžio aukštį galima nustatyti skaičiuojant kraštų skaičių nuo šaknies mazgo iki tolimiausio lapo mazgo.
  • Gylis : Mazgo gylį galima nustatyti skaičiuojant kraštų skaičių nuo šakninio mazgo iki dabartinio mazgo.
  • Balansavimas : Medį galima subalansuoti taip, kad medžio aukštis būtų kuo mažesnis ir mazgų pasiskirstymas būtų kuo tolygesnis.

Tai yra keletas dažniausiai atliekamų operacijų su medžiais. Naudojamos konkrečios operacijos ir algoritmai gali skirtis priklausomai nuo problemos reikalavimų ir naudojamos programavimo kalbos. Medžiai dažniausiai naudojami tokiose programose kaip paieška, rūšiavimas ir hierarchinių duomenų saugojimas.

Medžio pritaikymas realiame gyvenime:

  • Realiame gyvenime medžio duomenų struktūra padeda kuriant žaidimą.
  • Tai taip pat padeda indeksuoti duomenų bazėse.
  • Sprendimų medis yra efektyvus mašininio mokymosi įrankis, dažniausiai naudojamas sprendimų analizei. Ji turi į schemą panašią struktūrą, kuri padeda suprasti duomenis.
  • Domeno vardų serveris taip pat naudoja medžio duomenų struktūrą.
  • Labiausiai paplitęs medžio naudojimo atvejis yra bet kuri socialinio tinklo svetainė.

Norite pradėti dirbti su „Tree“? Galite išbandyti mūsų kuruojamus straipsnius ir geriausios praktikos sąrašus:

  • 50 populiariausių medžio interviu klausimų
  • Praktikos medžio problema techcodeview.com

Grafikas:

Grafas yra nelinijinė duomenų struktūra, susidedanti iš viršūnių (arba mazgų) ir briaunų. Jį sudaro baigtinis viršūnių rinkinys ir briaunų rinkinys, jungiantis mazgų porą. Grafikas naudojamas sudėtingiausioms ir sudėtingiausioms programavimo problemoms spręsti. Jis turi skirtingą terminiją: kelias, laipsnis, gretimos viršūnės, prijungti komponentai ir kt.

Grafikas

Grafikas

Grafiko charakteristikos:

Grafikas turi įvairias skirtingas charakteristikas, kurios yra šios:

  • Didžiausias atstumas nuo viršūnės iki visų kitų viršūnių laikomas tos viršūnės ekscentriškumu.
  • Viršūnė, turinti minimalų ekscentriškumą, laikoma centriniu grafiko tašku.
  • Minimali ekscentriškumo reikšmė iš visų viršūnių laikoma sujungto grafo spinduliu.

Grafiko taikymas:

Skirtingos grafikų programos yra tokios:

  • Grafikas naudojamas skaičiavimo srautui pavaizduoti.
  • Jis naudojamas modeliuojant grafikus.
  • Operacinė sistema naudoja išteklių paskirstymo grafiką.
  • Taip pat naudojamas World Wide Web, kur tinklalapiai žymi mazgus.

Grafike atlikta operacija:

Grafas yra nelinijinė duomenų struktūra, susidedanti iš mazgų ir briaunų. Štai keletas bendrų operacijų, atliekamų su grafikais:

  • Pridėti viršūnę: Prie grafiko galima pridėti naujų viršūnių, kad būtų vaizduojamas naujas mazgas.
  • Pridėti kraštą: Tarp viršūnių galima pridėti briaunų, kad būtų nurodytas ryšys tarp mazgų.
  • Pašalinkite viršūnę : viršūnes galima pašalinti iš grafiko atnaujinus gretimų viršūnių nuorodas, kad būtų pašalinta nuoroda į dabartinę viršūnę.
  • Pašalinkite kraštą : briaunas galima pašalinti atnaujinant gretimų viršūnių nuorodas, kad būtų pašalinta nuoroda į dabartinį kraštą.
  • Giluminė paieška (DFS) : Grafą galima pereiti naudojant gylio paiešką, aplankant viršūnes pirmiausia gyliu.
  • B readth-First Search (BFS): Grafą galima pereiti naudojant paiešką pagal plotį, aplankant viršūnes pagal plotį.
  • Trumpiausias kelias: Trumpiausias kelias tarp dviejų viršūnių gali būti nustatytas naudojant tokius algoritmus kaip Dijkstra algoritmas arba A* algoritmas.
  • Sujungti komponentai : sujungtus grafo komponentus galima nustatyti ieškant viršūnių, kurios yra sujungtos viena su kita, bet ne su kitomis grafo viršūnėmis, rinkinius.
  • Ciklo aptikimas : Grafiko ciklus galima aptikti patikrinus, ar nėra užpakalinių briaunų atliekant paiešką pagal gylį.

Tai yra keletas dažniausiai atliekamų operacijų su grafikais. Naudojamos konkrečios operacijos ir algoritmai gali skirtis priklausomai nuo problemos reikalavimų ir naudojamos programavimo kalbos. Grafikai dažniausiai naudojami tokiose programose kaip kompiuterių tinklai, socialiniai tinklai ir maršruto parinkimo problemos.

Grafo pritaikymas realiame gyvenime:

  • Vienas iš labiausiai paplitusių realaus pasaulio grafiko pavyzdžių yra „Google“ žemėlapiai, kur miestai yra kaip viršūnės, o tas viršūnes jungiantys keliai yra kaip grafiko kraštai.
  • Socialinis tinklas taip pat yra vienas realus grafiko pavyzdys, kuriame kiekvienas tinkle esantis asmuo yra mazgas, o visos jų draugystės tinkle yra grafiko kraštai.
  • Grafikas taip pat naudojamas tiriant molekules fizikoje ir chemijoje.

Norite pradėti naudotis „Graph“? Galite išbandyti mūsų kuruojamus straipsnius ir geriausios praktikos sąrašus:

suderinti vaizdą su css
  • Įvadas į grafikos duomenų struktūrą
  • 50 geriausių grafinių interviu klausimų
  • Praktikuokite grafiko problemą svetainėje techcodeview.com

Duomenų struktūros pranašumai:

  1. Pagerintas duomenų organizavimo ir saugojimo efektyvumas.
  2. Greitesnis duomenų gavimas ir manipuliavimas.
  3. Palengvina sudėtingų problemų sprendimo algoritmų kūrimą.
  4. Palengvina duomenų atnaujinimo ir priežiūros užduotį.
  5. Leidžia geriau suprasti ryšius tarp duomenų elementų.

Duomenų struktūros trūkumas:

  1. Padidėjusios skaičiavimo ir atminties sąnaudos.
  2. Sunkumai kuriant ir diegiant sudėtingas duomenų struktūras.
  3. Ribotas mastelio keitimas ir lankstumas.
  4. Derinimo ir testavimo sudėtingumas.
  5. Sunkumai keičiant esamas duomenų struktūras.

Nuoroda:

Duomenų struktūras galima rasti įvairiuose informatikos vadovėliuose ir internetiniuose šaltiniuose. Kai kurie populiarūs tekstai apima:

  1. Thomaso H. Cormeno, Charleso E. Leisersono, Ronaldo L. Rivesto ir Cliffordo Steino įvadas į algoritmus.
  2. „Java“ duomenų struktūrų ir algoritmų analizė, Mark Allen Weiss.
  3. Algoritmo projektavimo vadovas Steven S. Skiena.
  4. Internetiniai ištekliai, tokie kaip Coursera, Udemy ir Khan Academy, taip pat siūlo kursus apie duomenų struktūras ir algoritmus.

Išvada

Nors tai yra plačiausiai žinomos ir naudojamos duomenų struktūros, yra ir kai kurių kitų duomenų struktūrų formų, kurios naudojamos kompiuterių moksle, pvz. politika pagrįstų duomenų struktūrų , ir tt Bet kad ir kokią duomenų struktūrą pasirinktumėte, kiekviena turi savo privalumų ir trūkumų, kurių nežinant gali būti labai brangu pasirinkti netinkamo tipo duomenų struktūrą. Taigi labai svarbu suprasti situacijos poreikį ir tada nuspręsti, kokia duomenų struktūra geriausiai tinka darbui.