Binaaripuu on tietynlainen tietorakenne, jota käytetään tietokoneohjelmoinnissa tietojen tallentamiseen, lajitteluun ja käyttöön. Binaaripuut ovat yksinkertaisin puulaji, mutta ne ovat erittäin hyödyllisiä ja helppoja toteuttaa. Binääripuun tyypillinen toteutus perustuu juurisolmuun, joka on linkitetty sarjaan solmuja, jotka muodostavat itse puun osoitinmuuttujien avulla. Tämän tyyppinen puu saa nimensä siitä, että yhdelläkään puun solmulla ei voi olla enempää kuin kaksi lasta.
Puutietorakenteita on monenlaisia. Ne koostuvat eri solmuista, jotka on järjestetty hierarkkiseen malliin. Yksittäinen solmu, juuri, on tukiasema, jonka kautta koko tietopuuta voidaan hakea tai muuten käsitellä. Tämä juurisolmu osoittaa itse puun yläsolmuun.
Kaikilla puun solmuilla, lukuun ottamatta ylintä solmua, on ylätason solmu, joka sijaitsee sen yläpuolella puun hierarkiassa. Siinä voi myös olla lapsisolmuja, jotka sijaitsevat sen alapuolella. Tiettyyn solmuun pääsee puun yläpuolella olevien solmujen kautta ja se tarjoaa pääsyn sen alapuolelle.
Binaaripuun tietorakenteet mahdollistavat kullekin solmulle enintään kaksi lasta. Tiettyyn solmuun voi siten olla liitetty nolla, yksi tai kaksi alisolmua. Tavalliset binaaripuut sallivat solmut, joissa on mikä tahansa määrä lapsia missä tahansa puun kohdassa. Ne eivät myöskään aseta rajoituksia puun muodostaviin solmuihin tallennettujen arvojen järjestykseen.
Tietorakenteet ovat hyödyllisimpiä, kun ne parantavat nopeutta, jolla tietoihin pääsee käsiksi tietokoneella, ja binaaripuiden muokattuja versioita käytetään parantamaan niiden tehokkuutta. Binaarinen hakupuu on sellainen, jossa kaikilla tietyn solmun vasemmalla laskevalla haaralla sijaitsevilla data -arvoilla on yhtä suuri tai pienempi arvo kuin kyseiselle solmulle tallennettu arvo. Järjestetyn binääripuun solmun oikealla puolella olevien arvojen on puolestaan oltava suurempia kuin perussolmun arvo. Tämä tietojen järjestys mahdollistaa paljon tehokkaamman hakualgoritmin kirjoittamisen.
Binaaripuun muoto on myös tärkeä määritettäessä hakualgoritmin tehokkuutta. Binääripuun vähiten tehokas lajike on sellainen, jossa jokaisella solmulla on vain yksi lapsi. Tietokoneen on ehkä tutkittava kaikki puun kaikki tiedot löytääkseen yksittäiset tiedot tästä kokoonpanosta. Tehokkain binääripuu sitä vastoin on sellainen, jossa jokaisella solmulla, lukuun ottamatta puun alaosassa olevia, on kaksi lasta ja jossa kaikki lehtisolmut, puun alemmat solmut, ovat saman etäisyyden päässä juurista.