Mikä on tietorakenne:
Tietorakenne on tallennustila, jota käytetään tietojen tallentamiseen ja järjestämiseen. Se on tapa järjestää tiedot tietokoneella niin, että niitä voidaan käyttää ja päivittää tehokkaasti.
Tietorakennetta ei käytetä vain tietojen järjestämiseen. Sitä käytetään myös tietojen käsittelyyn, hakemiseen ja tallentamiseen. Erilaisia perus- ja edistyksellisiä tietorakenteita käytetään lähes jokaisessa kehitetyssä ohjelmassa tai ohjelmistojärjestelmässä. Meidän on siis tunnettava tietorakenteet hyvin.
Tietorakenteet ovat olennainen osa tietokoneita, joita käytetään tietojen järjestämiseen muistissa. He ovat välttämättömiä ja vastuussa tietojen tehokkaasta järjestämisestä, käsittelystä, käyttämisestä ja tallentamisesta. Mutta tämä ei ole kaikki. Erityyppisillä tietorakenteilla on ominaispiirteensä, ominaisuutensa, sovelluksensa, etunsa ja haittansa. Joten miten tunnistat tietorakenteen, joka sopii tiettyyn tehtävään? Mitä tarkoitetaan termillä 'tietorakenne'? Kuinka monen tyyppisiä tietorakenteita on olemassa ja mihin niitä käytetään?

Mikä on tietorakenne: tyypit, luokitukset ja sovellukset
Olemme turvanneet sinut. Olemme tehneet täydellisen luettelon kaikesta siitä, mikä tietorakenne on, mitkä ovat tietorakenteiden tyypit, tietorakenteiden luokittelu, kunkin tietorakenteen sovellukset ja niin edelleen. Tässä artikkelissa käsittelemme jokaisen tietorakenteen kaikkia näkökohtia, jotta voit valita parhaan muutamassa minuutissa.
Sisällysluettelo
- Mikä on tietorakenne?
- Miten tietorakenne vaihtelee tietotyypistä?
- Tietorakenteen luokitus
- Taulukot
- Linkitetty lista
- Pino
- Jonottaa
- Puu
- Kaavio
- Johtopäätös
Miten tietorakenne vaihtelee tietotyypistä:
Olemme jo oppineet tietorakenteesta. Usein tapahtuu, että ihmiset hämmentyvät tietotyypin ja tietorakenteen välillä. Katsotaanpa siis muutamia eroja tietotyypin ja tietorakenteen välillä sen selventämiseksi.
Tietotyyppi | Tietorakenne |
---|---|
Tietotyyppi on muuttujan muoto, jolle voidaan määrittää arvo. Se määrittää, että tietty muuttuja määrittää vain tietyn tietotyypin arvot. | Tietorakenne on kokoelma erilaisia tietoja. Koko data voidaan esittää objektin avulla ja sitä voidaan käyttää koko ohjelman aikana. |
Se voi sisältää arvoa, mutta ei tietoja. Siksi se on dataton. | Se voi sisältää useita erityyppisiä tietoja yhdessä objektissa. |
Tietotyypin toteutus tunnetaan abstraktina toteutuksena. c-merkkijono taulukossa | Tietorakenteen toteutus tunnetaan konkreettisena toteutuksena. |
Tietotyyppien tapauksessa ei ole aikamonimutkaisuutta. | Tietorakenneobjekteissa ajallinen monimutkaisuus on tärkeässä roolissa. |
Tietotyyppien tapauksessa tietojen arvoa ei tallenneta, koska se edustaa vain tallennettavissa olevan tiedon tyyppiä. | Tietorakenteiden tapauksessa data ja sen arvo hankkivat tilan tietokoneen päämuistista. Tietorakenne voi myös sisältää erilaisia ja erityyppisiä tietoja yhdessä objektissa. |
Tietotyyppiesimerkkejä ovat int, float, double jne. | Esimerkkejä tietorakenteista ovat pino, jono, puu jne. |
Tietorakenteen luokitus:
Tietorakenteella on monia erilaisia käyttötarkoituksia jokapäiväisessä elämässämme. On olemassa monia erilaisia tietorakenteita, joita käytetään ratkaisemaan erilaisia matemaattisia ja loogisia ongelmia. Tietorakennetta käyttämällä voidaan järjestää ja käsitellä erittäin suuri määrä tietoa suhteellisen lyhyessä ajassa. Katsotaanpa erilaisia tietorakenteita, joita käytetään eri tilanteissa.
silmukalle javassa

Tietorakenteen luokitus
- Lineaarinen tietorakenne: Tietorakennetta, jossa tietoelementit on järjestetty peräkkäin tai lineaarisesti, jossa jokainen elementti on liitetty edelliseen ja seuraavaan viereiseen elementtiin, kutsutaan lineaariseksi tietorakenteeksi.
Esimerkkejä lineaarisista tietorakenteista ovat taulukko, pino, jono, linkitetty lista jne.- Staattinen tietorakenne: Staattisella tietorakenteella on kiinteä muistikoko. Staattisen tietorakenteen elementteihin on helpompi päästä käsiksi.
Esimerkki tästä tietorakenteesta on taulukko. - Dynaaminen tietorakenne: Dynaamisessa tietorakenteessa koko ei ole kiinteä. Se voidaan päivittää satunnaisesti ajon aikana, mitä voidaan pitää tehokkaana koodin muistin (tilan) monimutkaisuuden kannalta.
Esimerkkejä tästä tietorakenteesta ovat jono, pino jne.
- Staattinen tietorakenne: Staattisella tietorakenteella on kiinteä muistikoko. Staattisen tietorakenteen elementteihin on helpompi päästä käsiksi.
- Epälineaarinen tietorakenne: Tietorakenteita, joissa tietoelementtejä ei ole sijoitettu peräkkäin tai lineaarisesti, kutsutaan epälineaarisiksi tietorakenteiksi. Epälineaarisessa tietorakenteessa emme voi kulkea kaikkia elementtejä vain yhdessä ajossa.
Esimerkkejä epälineaarisista tietorakenteista ovat puut ja kaaviot.
Need Of Data -rakenne:
Datan rakenne ja algoritmin synteesi ovat suhteessa toisiinsa. Tietojen esittämisen tulee olla helposti ymmärrettävää, jotta kehittäjä ja käyttäjä voivat toteuttaa toiminnan tehokkaasti.
Tietorakenteet tarjoavat helpon tavan järjestää, hakea, hallita ja tallentaa tietoja.
Tässä on luettelo tietojen tarpeista.
- Tietorakenteen muuttaminen on helppoa.
- Se vaatii vähemmän aikaa.
- Säästä tallennustilaa.
- Tietojen esittäminen on helppoa.
- Helppo pääsy suureen tietokantaan.
Taulukot:
Taulukko on lineaarinen tietorakenne ja se on kokoelma vierekkäisiin muistipaikkoihin tallennettuja kohteita. Ajatuksena on säilyttää useita samantyyppisiä esineitä yhdessä paikassa. Se mahdollistaa suuren tietomäärän käsittelyn suhteellisen lyhyessä ajassa. Taulukon ensimmäinen elementti on indeksoitu 0:n alaindeksillä. Taulussa on erilaisia toimintoja, kuten haku, lajittelu, lisäys, läpikulku, kääntäminen ja poistaminen.

Array
Arrayn ominaisuudet:
Taulukolla on erilaisia ominaisuuksia, jotka ovat seuraavat:
- Taulukot käyttävät indeksipohjaista tietorakennetta, joka auttaa tunnistamaan taulukon jokaisen elementin helposti indeksin avulla.
- Jos käyttäjä haluaa tallentaa useita saman tietotyypin arvoja, taulukkoa voidaan hyödyntää tehokkaasti.
- Taulukko voi myös käsitellä monimutkaisia tietorakenteita tallentamalla tiedot kaksiulotteiseen taulukkoon.
- Taulukkoa käytetään myös muiden tietorakenteiden, kuten pinojen, jonojen, pinojen, hajautustaulukoiden jne., toteuttamiseen.
- Hakuprosessi taulukossa voidaan tehdä erittäin helposti.
Taulukossa suoritetut toiminnot:
- Alustus : Taulukko voidaan alustaa arvoilla ilmoitushetkellä tai myöhemmin määrityskäskyn avulla.
- Elementtien käyttö: Matriisin elementteihin pääsee käsiksi niiden indeksillä, joka alkaa 0:sta ja nousee taulukon kokoon miinus yksi.
- Elementtien etsiminen : Matriiseista voidaan etsiä tiettyä elementtiä käyttämällä lineaarihakua tai binäärihakualgoritmeja.
- Elementtien lajittelu : Taulukon elementit voidaan lajitella nousevaan tai laskevaan järjestykseen käyttämällä algoritmeja, kuten kuplalajittelu, lisäyslajittelu tai pikalajittelu.
- Elementtien lisääminen: Elementit voidaan lisätä taulukkoon tiettyyn paikkaan, mutta tämä toimenpide voi viedä aikaa, koska se vaatii taulukon olemassa olevien elementtien siirtämistä.
- Elementtien poistaminen: Elementit voidaan poistaa taulukosta siirtämällä sen jälkeen tulevat elementit täyttämään aukko.
- Päivitetään elementtejä: Matriisin elementtejä voidaan päivittää tai muokata määrittämällä uusi arvo tietylle indeksille.
- Läpikulkuelementit: Matriisin elementit voidaan kulkea järjestyksessä, jokaisessa elementissä käydään kerran.
Nämä ovat joitain yleisimmistä taulukoille suoritettavista toiminnoista. Käytettävät toiminnot ja algoritmit voivat vaihdella ongelman vaatimusten ja käytetyn ohjelmointikielen mukaan.
Array-sovellukset:
Matriisin eri sovellukset ovat seuraavat:
- Matriisiongelmien ratkaisemiseen käytetään taulukkoa.
- Tietokantatietueet toteutetaan myös taulukon avulla.
- Se auttaa lajittelualgoritmin toteuttamisessa.
- Sitä käytetään myös muiden tietorakenteiden, kuten pinojen, jonojen, kasojen, hajautustaulukoiden jne., toteuttamiseen.
- Matriisia voidaan käyttää suorittimen ajoitukseen.
- Voidaan käyttää hakutaulukkona tietokoneissa.
- Matriiseja voidaan käyttää puheenkäsittelyssä, jossa jokainen puhesignaali on matriisi.
- Tietokoneen näyttö näkyy myös matriisina. Tässä käytämme moniulotteista taulukkoa.
- Taulukkoa käytetään monissa hallintajärjestelmissä, kuten kirjastossa, opiskelijoissa, parlamentissa jne.
- Joukkoa käytetään online-lippujen varausjärjestelmässä. Tämä ryhmä näyttää matkapuhelimen yhteystiedot.
- Peleissä, kuten online-shakissa, jossa pelaaja voi tallentaa menneitä siirtojaan sekä nykyisiä siirtojaan. Se osoittaa vihjeen asennosta.
- Kuvien tallentaminen tietyssä ulottuvuudessa Androidissa Like 360*1200
Array-sovellukset tosielämässä:
- Taulukkoa käytetään usein tietojen tallentamiseen matemaattisia laskelmia varten.
- Sitä käytetään kuvankäsittelyssä.
- Sitä käytetään myös tietueenhallinnassa.
- Kirjasivut ovat myös tosielämän esimerkkejä taulukosta.
- Sitä käytetään myös laatikoiden tilaamisessa.
Haluatko aloittaa taulukoiden käytön? Voit kokeilla kuratoituja artikkeleita ja luetteloita parhaiden käytäntöjen saamiseksi:
- Johdatus taulukon tietorakenteeseen
- 50 suosituinta taulukon koodausongelmaa haastatteluissa
- Harjoittele Array-ongelmaa techcodeview.comssa
Linkitetty lista:
Linkitetty lista on lineaarinen tietorakenne, jossa elementtejä ei ole tallennettu vierekkäisiin muistipaikkoihin. Linkitetyn luettelon elementit linkitetään osoittimilla alla olevan kuvan mukaisesti:
Linkitettyjen luetteloiden tyypit:
- Yksittäin linkitetty lista
- Kaksoislinkitetty lista
- Pyöreä linkitetty luettelo
- Kaksinkertainen pyöreä linkitetty luettelo

Linkitetty lista
Linkitetyn listan ominaisuudet:
Linkitetyllä luettelolla on useita ominaisuuksia, jotka ovat seuraavat:
- Linkitetty luettelo käyttää ylimääräistä muistia linkkien tallentamiseen.
- Linkitetyn listan alustuksen aikana elementtien kokoa ei tarvitse tietää.
- Linkitettyjä listoja käytetään pinojen, jonojen, kaavioiden jne. toteuttamiseen.
- Linkitetyn luettelon ensimmäinen solmu on nimeltään Head.
- Viimeisen solmun seuraava osoitin osoittaa aina NULL.
- Linkitetyssä luettelossa lisääminen ja poistaminen on mahdollista helposti.
- Jokainen linkitetyn listan solmu koostuu osoittimesta/linkistä, joka on seuraavan solmun osoite.
- Linkitetyt luettelot voivat kutistua tai kasvaa milloin tahansa helposti.
Linkitetyssä listassa suoritetut toiminnot:
Linkitetty lista on lineaarinen tietorakenne, jossa jokainen solmu sisältää arvon ja viittauksen seuraavaan solmuun. Tässä on joitain yleisiä linkitetyille luetteloille suoritettuja toimintoja:
- Alustus: Linkitetty lista voidaan alustaa luomalla pääsolmu, jossa on viittaus ensimmäiseen solmuun. Jokainen seuraava solmu sisältää arvon ja viittauksen seuraavaan solmuun.
- Elementtien lisääminen: Elementit voidaan lisätä päähän, häntään tai tiettyyn kohtaan linkitetyssä luettelossa.
- Elementtien poistaminen : Elementit voidaan poistaa linkitetystä luettelosta päivittämällä edellisen solmun viite osoittamaan seuraavaan solmuun, jolloin nykyinen solmu poistetaan tehokkaasti luettelosta.
- Elementtien etsiminen : Linkitetyistä listoista voidaan etsiä tiettyä elementtiä aloittamalla pääsolmusta ja seuraamalla viittauksia seuraaviin solmuihin, kunnes haluttu elementti löytyy.
- Päivitetään elementtejä : Linkitetyn luettelon elementtejä voidaan päivittää muokkaamalla tietyn solmun arvoa.
- Läpikulkuelementit: Linkitetyn listan elementit voidaan kulkea aloittamalla pääsolmusta ja seuraamalla viittauksia seuraaviin solmuihin listan loppuun asti.
- Linkitetyn luettelon peruuttaminen : Linkitetty lista voidaan kääntää päivittämällä kunkin solmun viittaukset siten, että ne osoittavat edelliseen solmuun seuraavan solmun sijaan.
Nämä ovat joitain yleisimmistä linkitetyille luetteloille suoritettavista toiminnoista. Käytettävät toiminnot ja algoritmit voivat vaihdella ongelman vaatimusten ja käytetyn ohjelmointikielen mukaan.
Linkitetyn luettelon sovellukset:
Linkitettyjen luetteloiden eri sovellukset ovat seuraavat:
- Linkitettyjä listoja käytetään pinojen, jonojen, kaavioiden jne. toteuttamiseen.
- Linkitettyjä listoja käytetään aritmeettisten operaatioiden suorittamiseen pitkille kokonaisluvuille.
- Sitä käytetään harvojen matriisien esittämiseen.
- Sitä käytetään tiedostojen linkitetyssä allokaatiossa.
- Se auttaa muistinhallinnassa.
- Sitä käytetään polynomimanipuloinnin esitykseen, jossa jokainen polynomitermi edustaa linkitetyn luettelon solmua.
- Linkitettyjä luetteloita käytetään kuvasäiliöiden näyttämiseen. Käyttäjät voivat käydä aiemmissa, nykyisissä ja seuraavissa kuvissa.
- Niitä käytetään vieraillun sivun historian tallentamiseen.
- Niitä käytetään peruutustoimintojen suorittamiseen.
- Linkittyjä käytetään ohjelmistokehityksessä, jossa ne osoittavat tagin oikean syntaksin.
- Linkitettyjä listoja käytetään sosiaalisen median syötteiden näyttämiseen.
Linkitetyn luettelon tosielämän sovellukset:
- Linkitettyä luetteloa käytetään Round-Robin-aikataulutuksessa moninpelien vuorojen seuraamiseen.
- Sitä käytetään kuvankatseluohjelmassa. Edellinen ja seuraava kuva on linkitetty, joten niitä voidaan käyttää edellinen ja seuraava -painikkeilla.
- Musiikkisoittolistassa kappaleet linkitetään edellisiin ja seuraaviin kappaleisiin.
Haluatko aloittaa linkitetyn luettelon? Voit kokeilla kuratoituja artikkeleita ja luetteloita parhaiden käytäntöjen saamiseksi:
- Johdatus linkitettyjen luetteloiden tietorakenteeseen
- Top 20 linkitettyjen listan haastattelukysymyksiä
- Harjoittele Linked List -ongelmaa techcodeview.comssa
Pino:
Pino on lineaarinen tietorakenne, joka noudattaa tiettyä järjestystä, jossa toiminnot suoritetaan. Järjestys on LIFO (viimeinen ensimmäisenä ulos) . Tietojen syöttäminen ja hakeminen on mahdollista vain yhdestä päästä. Tietojen syöttämistä ja hakemista kutsutaan myös push and pop -operaatioksi pinossa. Pinossa on mahdollista tehdä erilaisia toimintoja, kuten pinon kääntäminen rekursiolla, lajittelu, pinon keskiosan poistaminen jne.
Pino
Pinon ominaisuudet:
Pinolla on useita erilaisia ominaisuuksia, jotka ovat seuraavat:
- Pinoa käytetään monissa erilaisissa algoritmeissa, kuten Tower of Hanoi, puun läpikulku, rekursio jne.
- Pino toteutetaan taulukon tai linkitetyn luettelon kautta.
- Se seuraa Last In First Out -toimintoa, eli ensimmäisenä lisätty elementti ponnahtaa sisään viimeisenä ja päinvastoin.
- Lisäys ja poisto suoritetaan toisesta päästä eli pinon yläosasta.
- Pinossa, jos pinolle varattu tila on täynnä, ja silti joku yrittää lisätä elementtejä, se johtaa pinon ylivuotoon.
Stackin sovellukset:
Stackin eri sovellukset ovat seuraavat:
- Pinotietorakennetta käytetään aritmeettisten lausekkeiden arvioinnissa ja muuntamisessa.
- Sitä käytetään sulkeiden tarkistamiseen.
- Kun käännetään merkkijonoa, myös pinoa käytetään.
- Pinoa käytetään muistinhallinnassa.
- Sitä käytetään myös funktiokutsujen käsittelyyn.
- Pinoa käytetään lausekkeiden muuntamiseen infixistä postfixiksi.
- Pinoa käytetään kumoamiseen ja uudelleen tekemiseen tekstinkäsittelyohjelmissa.
- Pinoa käytetään virtuaalikoneissa, kuten JVM.
- Pinoa käytetään mediasoittimissa. Hyödyllinen seuraavan ja edellisen kappaleen toistamiseen.
- Pinoa käytetään rekursiooperaatioissa.
Toiminto suoritettu pinolla ;
Pino on lineaarinen tietorakenne, joka toteuttaa Last-In-First-Out (LIFO) -periaatteen. Tässä on joitain yleisiä pinoille suoritettuja toimintoja:
- Työntää : Elementit voidaan työntää pinon yläosaan, jolloin pinon yläosaan lisätään uusi elementti.
- Pop : Yläelementti voidaan poistaa pinosta pop-operaatiolla, joka poistaa tehokkaasti viimeisen pinoon työnnetyn elementin.
- Kurkistaa: Yläelementti voidaan tarkastaa poistamatta sitä pinosta kurkistustoiminnolla.
- On tyhjä : Voidaan tarkistaa, onko pino tyhjä.
- Koko : Pinon elementtien lukumäärä voidaan määrittää kokotoiminnolla.
Nämä ovat joitain yleisimmistä pinoista suoritettavista toiminnoista. Käytettävät toiminnot ja algoritmit voivat vaihdella ongelman vaatimusten ja käytetyn ohjelmointikielen mukaan. Pinoja käytetään yleisesti sovelluksissa, kuten lausekkeiden arvioinnissa, funktiokutsupinojen toteuttamisessa tietokoneohjelmissa ja monissa muissa.
Stackin tosielämän sovellukset:
- Tosielämän esimerkki pinosta on kerros ruokalautasia, jotka on järjestetty päällekkäin. Kun poistat lautasen pinosta, voit viedä lautasen pinon päälle. Mutta tämä on juuri se levy, joka lisättiin viimeksi kasaan. Jos haluat levyn pinon pohjalle, sinun on poistettava kaikki sen päällä olevat levyt päästäksesi siihen.
- Selaimet käyttävät pinotietorakenteita seuratakseen aiemmin vierailtuja sivustoja.
- Myös matkapuhelimen puheluloki käyttää pinotietorakennetta.
Haluatko aloittaa Stackin käytön? Voit kokeilla kuratoituja artikkeleita ja luetteloita parhaiden käytäntöjen saamiseksi:
verrata merkkijonoon
- Harjoittele pinoongelmaa techcodeview.comssa
Jonottaa:
Jono on lineaarinen tietorakenne, joka noudattaa tiettyä järjestystä, jossa toiminnot suoritetaan. Järjestys on First In First Out (FIFO) eli ensin tallennettu tietokohde otetaan käyttöön ensin. Tässä tiedon syöttäminen ja hakeminen ei tapahdu vain yhdestä päästä. Esimerkki jonosta on mikä tahansa resurssin kuluttajien jono, jossa ensin palvellaan ensin tullutta kuluttajaa. Jonolle suoritetaan erilaisia toimintoja, kuten jonon kääntäminen (rekursion kanssa tai ilman), jonon ensimmäisen K elementin kääntäminen jne. Jonossa suoritettavat perustoiminnot ovat jono, jonon poistaminen, etu, taka jne.

Jonottaa
Jonon ominaisuudet:
Jonolla on useita erilaisia ominaisuuksia, jotka ovat seuraavat:
- Jono on FIFO-rakenne (First In First Out).
- Jonon viimeisen elementin poistamiseksi on poistettava kaikki ennen uutta elementtiä jonossa lisätyt elementit.
- Jono on järjestetty luettelo samantyyppisten tietotyyppien elementeistä.
Jonon sovellukset:
Jonon eri sovellukset ovat seuraavat:
- Jonoa käytetään verkkosivuston liikenteen käsittelyyn.
- Se auttaa ylläpitämään soittolistoja mediasoittimissa.
- Jonoa käytetään käyttöjärjestelmissä keskeytysten käsittelyyn.
- Se auttaa palvelemaan pyyntöjä yhdessä jaetussa resurssissa, kuten tulostimessa, suorittimen tehtävien ajoituksessa jne.
- Sitä käytetään asynkronisessa tiedonsiirrossa mm. putket, tiedosto IO ja pistorasiat.
- Jonoja käytetään töiden ajoitukseen käyttöjärjestelmässä.
- Sosiaalisessa mediassa useiden kuvien tai videoiden lataamiseen käytetään jonoa.
- Sähköpostijonon lähettämiseen käytetään tietorakennetta.
- Sivuston liikenteen käsittelemiseen kerrallaan käytetään jonoja.
- Windows-käyttöjärjestelmässä useiden sovellusten vaihtaminen.
Jonossa suoritettu toimenpide:
Jono on lineaarinen tietorakenne, joka toteuttaa FIFO (First-In-First-Out) -periaatteen. Tässä on joitain yleisiä jonoissa suoritettuja toimintoja:
- Jono : Elementtejä voidaan lisätä jonon takaosaan lisäämällä uusi elementti jonon loppuun.
- Asianmukaisesti : Etuelementti voidaan poistaa jonosta suorittamalla poistotoiminto, joka poistaa tehokkaasti ensimmäisen jonoon lisätyn elementin.
- Kurkistaa : Etuelementti voidaan tarkastaa poistamatta sitä jonosta kurkistustoiminnolla.
- On tyhjä : Voidaan tarkistaa, onko jono tyhjä.
- Koko : Jonon elementtien lukumäärä voidaan määrittää kokotoiminnolla.
Nämä ovat joitain yleisimmistä jonoissa suoritettavista toiminnoista. Käytettävät toiminnot ja algoritmit voivat vaihdella ongelman vaatimusten ja käytetyn ohjelmointikielen mukaan. Jonoja käytetään yleisesti sovelluksissa, kuten tehtävien ajoituksessa, prosessien välisen viestinnän hallinnassa ja monissa muissa.
Jonon tosielämän sovellukset:
- Tosimaailman esimerkki jonosta on yksikaistainen yksisuuntainen tie, josta ensimmäisenä saapuva ajoneuvo poistuu ensimmäisenä.
- Todellisempi esimerkki näkyy lippuikkunoiden jonossa.
- Kaupan kassajono on myös esimerkki jonosta.
- Ihmisiä liukuportaissa
Haluatko aloittaa Queuen käytön? Voit kokeilla kuratoituja artikkeleita ja luetteloita parhaiden käytäntöjen saamiseksi:
- Harjoittele jonoongelmaa techcodeview.comssa
Puu:
Puu on epälineaarinen ja hierarkkinen tietorakenne, jossa elementit on järjestetty puumaiseen rakenteeseen. Puussa ylintä solmua kutsutaan juurisolmuksi. Jokainen solmu sisältää jonkin verran dataa, ja data voi olla mitä tahansa tyyppiä. Se koostuu keskussolmusta, rakenteellisista solmuista ja alisolmuista, jotka on yhdistetty reunojen kautta. Erilaiset puutietorakenteet mahdollistavat nopeamman ja helpomman pääsyn tietoihin, koska se on epälineaarinen tietorakenne. Puulla on erilaisia termejä, kuten solmu, juuri, reuna, puun korkeus, puun aste jne.
Puumaisia on erilaisia

Puu
Puun ominaisuudet:
Puulla on useita erilaisia ominaisuuksia, jotka ovat seuraavat:
- Puu tunnetaan myös nimellä rekursiivinen tietorakenne.
- Puussa juuren korkeus voidaan määritellä pisimmäksi poluksi juurisolmusta lehtisolmuun.
- Puussa voidaan myös laskea syvyyttä ylhäältä mihin tahansa solmuun. Juurisolmun syvyys on 0.
Puun sovellukset:
Puun eri sovellukset ovat seuraavat:
- Keko on puutietorakenne, joka on toteutettu taulukoiden avulla ja jota käytetään prioriteettijonojen toteuttamiseen.
- B-Tree- ja B+ Tree -puuta käytetään indeksoinnin toteuttamiseen tietokantoissa.
- Syntaksipuu auttaa skannauksessa, jäsentämisessä, koodin luomisessa ja aritmeettisten lausekkeiden arvioinnissa kääntäjän suunnittelussa.
- K-D Tree on avaruuden osiointipuu, jota käytetään järjestämään pisteitä K-ulotteisessa avaruudessa.
- Virtapuita käytetään tietokoneverkkojen reitittimissä.
Puulle tehty toimenpide:
Puu on epälineaarinen tietorakenne, joka koostuu reunoilla yhdistetyistä solmuista. Tässä on joitain yleisiä puille suoritettuja toimintoja:
- Lisäys : Puuhun voidaan lisätä uusia solmuja uuden oksan luomiseksi tai puun korkeuden lisäämiseksi.
- Poistaminen : Solmut voidaan poistaa puusta päivittämällä pääsolmun viittaukset poistamaan viittaus nykyiseen solmuun.
- Hae : Elementtejä voidaan etsiä puusta aloittamalla juurisolmusta ja kulkemalla puun läpi nykyisen solmun arvon perusteella, kunnes haluttu solmu löytyy.
- Läpikulku : Puun elementit voidaan kulkea useilla eri tavoilla, mukaan lukien tilaus-, ennakko- ja tilauksen jälkeinen läpikulku.
- Korkeus : Puun korkeus voidaan määrittää laskemalla reunojen määrä juurisolmusta kauimpana olevaan lehtisolmuun.
- Syvyys : Solmun syvyys voidaan määrittää laskemalla reunojen määrä juurisolmusta nykyiseen solmuun.
- Tasapainottaminen : Puu voidaan tasapainottaa niin, että puun korkeus minimoidaan ja solmujen jakautuminen on mahdollisimman tasaista.
Nämä ovat joitain yleisimmistä puille suoritettavista toimista. Käytettävät toiminnot ja algoritmit voivat vaihdella ongelman vaatimusten ja käytetyn ohjelmointikielen mukaan. Puita käytetään yleisesti sovelluksissa, kuten haussa, lajittelussa ja hierarkkisen tiedon tallentamisessa.
Puun tosielämän sovellukset:
- Tosielämässä puun tietorakenne auttaa pelin kehittämisessä.
- Se auttaa myös tietokantojen indeksoinnissa.
- Päätöspuu on tehokas koneoppimistyökalu, jota käytetään yleisesti päätösten analysoinnissa. Siinä on vuokaaviomainen rakenne, joka auttaa ymmärtämään dataa.
- Domain Name Server käyttää myös puutietorakennetta.
- Puun yleisin käyttötapa on mikä tahansa sosiaalinen verkostoituminen.
Haluatko aloittaa Treen käytön? Voit kokeilla kuratoituja artikkeleita ja luetteloita parhaiden käytäntöjen saamiseksi:
- 50 suosituinta puuhaastattelukysymystä
- Harjoituspuu-ongelma techcodeview.comssa
Kaavio:
Graafi on epälineaarinen tietorakenne, joka koostuu pisteistä (tai solmuista) ja reunoista. Se koostuu äärellisestä joukosta pisteitä ja reunoja, jotka yhdistävät solmuparin. Kaaviota käytetään haastavimpien ja monimutkaisimpien ohjelmointiongelmien ratkaisemiseen. Sillä on erilaisia terminologioita, jotka ovat polku, aste, vierekkäiset kärjet, yhdistetyt komponentit jne.

Kaavio
Graafin ominaisuudet:
Kaaviolla on useita erilaisia ominaisuuksia, jotka ovat seuraavat:
- Suurin mahdollinen etäisyys kärjestä kaikkiin muihin pisteisiin katsotaan tämän kärjen epäkeskisyydeksi.
- Huippu, jolla on pienin epäkeskisyys, katsotaan graafin keskipisteeksi.
- Epäkeskisyyden minimiarvo kaikista pisteistä katsotaan yhdistetyn graafin säteeksi.
Graafin sovellukset:
Graafeiden eri sovellukset ovat seuraavat:
- Kaaviota käytetään kuvaamaan laskentavirtaa.
- Sitä käytetään kaavioiden mallintamiseen.
- Käyttöjärjestelmä käyttää Resource Allocation Graphia.
- Käytetään myös World Wide Webissä, jossa verkkosivut edustavat solmuja.
Graafilla suoritettu toimenpide:
Graafi on epälineaarinen tietorakenne, joka koostuu solmuista ja reunoista. Tässä on joitain yleisiä kaavioille suoritettuja toimintoja:
- Lisää huippupiste: Graafiin voidaan lisätä uusia huippuja edustamaan uutta solmua.
- Lisää reuna: Reunoja voidaan lisätä kärkien väliin edustamaan solmujen välistä suhdetta.
- Poista Vertex : Vertices voidaan poistaa graafista päivittämällä viereisten pisteiden viittaukset poistamaan viittaus nykyiseen kärkipisteeseen.
- Poista Edge : Reunat voidaan poistaa päivittämällä viereisten kärkien viittaukset poistamaan viittaus nykyiseen reunaan.
- Depth-First Search (DFS) : Kaavio voidaan kulkea käyttämällä syvyys-ensi-hakua käymällä kärjeissä syvyys-ensisijalla.
- B readth-First Search (BFS): Graafi voidaan kulkea leveys-ensin haulla vierailemalla kärjeissä leveys-ensimmäisellä tavalla.
- Lyhin polku: Lyhin polku kahden kärjen välillä voidaan määrittää käyttämällä algoritmeja, kuten Dijkstra-algoritmi tai A*-algoritmi.
- Kytketyt komponentit : Graafin yhdistetyt komponentit voidaan määrittää etsimällä joukot pisteitä, jotka ovat yhteydessä toisiinsa, mutta eivät mihinkään muihin graafin pisteisiin.
- Cycle Detection : Graafisen syklit voidaan havaita tarkistamalla takareunat syvyysensimmäisen haun aikana.
Nämä ovat joitain yleisimmistä kaavioille suoritettavista toiminnoista. Käytettävät toiminnot ja algoritmit voivat vaihdella ongelman vaatimusten ja käytetyn ohjelmointikielen mukaan. Kaavioita käytetään yleisesti sovelluksissa, kuten tietokoneverkoissa, sosiaalisissa verkostoissa ja reititysongelmissa.
Graafin tosielämän sovellukset:
- Yksi yleisimmistä reaalimaailman esimerkeistä graafista on Google Maps, jossa kaupungit sijaitsevat pisteinä ja niitä yhdistävät polut sijaitsevat graafin reunoilla.
- Sosiaalinen verkosto on myös yksi tosielämän esimerkki graafista, jossa jokainen verkossa oleva henkilö on solmu ja kaikki heidän ystävyytensä verkossa ovat kaavion reunoja.
- Graafia käytetään myös fysiikan ja kemian molekyylien tutkimiseen.
Haluatko aloittaa Graphin käytön? Voit kokeilla kuratoituja artikkeleita ja luetteloita parhaiden käytäntöjen saamiseksi:
prime ohjelma javassa
- Graafisen tietorakenteen esittely
- 50 parasta kaaviohaastattelukysymystä
- Harjoittele Graph-ongelmaa techcodeview.comssa
Tietorakenteen edut:
- Parannettu tiedon organisointi ja tallennustehokkuus.
- Nopeampi tietojen haku ja käsittely.
- Helpottaa algoritmien suunnittelua monimutkaisten ongelmien ratkaisemiseksi.
- Helpottaa tietojen päivittämistä ja ylläpitoa.
- Antaa paremman käsityksen tietoelementtien välisistä suhteista.
Tietorakenteen haittapuoli:
- Lisääntynyt laskenta- ja muistimäärä.
- Vaikeus monimutkaisten tietorakenteiden suunnittelussa ja toteuttamisessa.
- Rajoitettu skaalautuvuus ja joustavuus.
- Virheenkorjauksen ja testauksen monimutkaisuus.
- Vaikeus muuttaa olemassa olevia tietorakenteita.
Viite:
Tietorakenteita löytyy erilaisista tietojenkäsittelytieteen oppikirjoista ja verkkoresursseista. Joitakin suosittuja tekstejä ovat mm.
- Johdatus algoritmeihin: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest ja Clifford Stein.
- Tietorakenteet ja algoritmianalyysi Javassa, kirjoittanut Mark Allen Weiss.
- Algorithm Design Manual, Steven S. Skiena.
- Verkkoresurssit, kuten Coursera, Udemy ja Khan Academy, tarjoavat myös kursseja tietorakenteista ja algoritmeista.
Johtopäätös
Vaikka nämä ovatkin tunnetuimpia ja käytetyimpiä tietorakenteita, on myös joitain muita tietorakenteiden muotoja, joita käytetään tietojenkäsittelytieteessä, kuten esim. politiikkaan perustuvia tietorakenteita , jne. Riippumatta siitä, minkä tietorakenteen valitset, jokaisella on omat etunsa ja haittansa, joista tietämättä voi olla erittäin kallista valita väärän tyyppinen tietorakenne. Siksi on erittäin tärkeää ymmärtää tilanteen tarve ja päättää sitten, millainen tietorakenne sopii parhaiten työhön.