Puu (tietorakenne)

Puu on tietorakennetyyppi, joka koostuu puurakenteen muodostavista hierarkisesti toisiinsa linkitetyistä solmuista. Tyypillisesti tietojenkäsittelytieteessä käytetään binääripuita, joissa solmulla voi olla enintään kaksi lapsisolmua.

Solmut tyypillisesti järjestetään puiksi. Solmu edustaa yhden tietorakenteen tietoa, esimerkiksi arvon, ehdon tai mahdollisesti toimii toisena itsenäisenä tietorakenteena. Puurakenteen korkein solmu edustaa kaikkia alempia lapsisolmuja. IP-osoite käyttää tämän tyyppistä puurakennetta määrittäessään sijainnin verkossa.

Merkintäkielet 
Puiden ja solmujen käyttö on yleistä web-kehityksessä. Ne muodostavat suuren osan verkkosivujen ja sovellusten rakenteesta. Ohjelmoinnissa XML:ää käytetään tietokoneiden ja ohjelmoijien tiedonvälitykseen. Tämän takia XML:ää käytetään yhteisten viestintäprotokollien luomiseen esimerkiksi ohjelmien väliseen viestintään ja se toimii pohjana nykyään käytettävien web-merkintäkielten, kuten XHTML:n kehityksessä. 

Vaikka HTML ja CSS ovat ohjelmoijan näkökulmasta samankaltaisia, niitä käytetään eri tarkoituksiin. HTML:ää käytetään useimmiten ohjelmoinnissa verkkosivun tekstin kehitykseen ja CSS:ää verkkosivujen muotoiluun. XML, HTML ja XHTML tarjoavat kielen ja ilmaisun, mutta DOM toimii kääntäjänä. DOM toimii ohjelmointirajapintana, jota voi käyttää esimerkiksi verkkosivun rakenteen ja sisällön dynaamiseen muokkaamiseen. JavaScript toimii tärkeässä roolissa verkkosivukehityksessä. Sen ja DOM:in avulla voi muokata verkkosivun rakennetta koodilla. Tämä on tärkeä osa nykyajan verkkosivuja ja näiden toimivuus yhdessä mahdollistaa dynaamisen toiminnan ja interaktiivisuuden verkkosivuilla.

Käyttökohteita 
 keot
 hakupuut
 merkkijonojen käsittely, esim. haku:
 trie, myös alkuosapuu, prefiksipuu
 loppuosapuu, myös suffiksipuu

Tietorakenteet