(toiminnot)

hwechtla-tl: Tietorakenne

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


Tietorakenne on (tietokoneen näkökulmasta) rakenne, joka pystyy pitämään sisällään tietynlaista tietoa; ohjelmoijan näkökulmasta se on rakenne, jota käytetään tietyntyyppisen tiedon käsittelyyn.

Tietorakenteita on kahdentyyppisiä, sisäänrakennettuja eli primitiivisiä (jokainen näistä on myös oma tyyppinsä):

Sekä näitä yhdistelemällä saatuja, monimutkaisempia tietorakenteita. Tyypin ja tietorakenteen ero on siinä, että tietyntyyppisiä arvoja voi käyttää useammanlaisiin tietorakenteisiin. Esimerkiksi voimme esittää yhteystietoja listalla:

yht = ["Marjatta Mäkiläinen", "044-553233", "m.makilainen@luukku.com"]
Mutta yhtä hyvin (upotetulla) listalla voi esittää myös jäsennyspuuta:
jas = ["S", ["NP", ["N", "koira"]], ["VP", ["V", "juoksee"]]]
Molemmat ovat listoja, mutta jäsennyspuun tulkitseminen yhteystiedoiksi ei ole järkevää: tällöin katsottaisiin, että henkilön nimi on "S", hänen puhelinnumeronsa on lista joka alkaa merkkijonolla "NP" ja niin edelleen.

Samoin merkkijonoja voi käyttää aivan erilaisiin tietorakenteisiin. Ääripäissä niihin voi esimerkiksi tallettaa mitä tahansa dataa kuten kuvadataa, tai sitten niitä voi käyttää vaikkapa suunnan merkkeinä, jolloin ainoat tässä yhteydessä sallitut merkkijonot ovat "vasen", "oikea", "suoraan".

Tietorakenteiden määrittelystä lambdakalkyylissa: http://sange.fi/~atehwa/lambda-kurssi/luento6.html


(Takaisin ohjelmoinnin käsitteet -sivulle.)


kommentoi (viimeksi muutettu 15.02.2011 21:36)