Diff for ''

Revision 14
Author:
black
Time:
2022-10-16 02:34
Revision 1
Time:
2024-06-13 22:29
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
<includeonly><div class="math_theorem" style="margin: 1em 0em; padding: 0.5em 1em 0.4em; border: 1px solid #aaa; text-align: justify;">
<strong class="theorem-name">Věta ({{{name|{{{2}}}}}})</strong><span class="theoreme-tiret">:&nbsp;</span>{{{1}}}
</div></includeonly>
# Binarni vyhledavaci strom - Prolog

<{ForumPost(poster="Anonymous", timestamp=2009-06-15 13:10:24)}>
Ahoj,
  
nevite, jak v prologu otestovat, zda-li je objekt korektni binarni vyhledavaci strom? Stromy jsou struktury t(LeftSubTree, Root, RighSubTree). Diky moc predem!
<{/ForumPost}>

<{ForumPost(poster="Him", timestamp=2009-06-15 18:12:22)}>


    %match(+V,+LftBnd,+RgtBnd)
    fit(V,LftBnd,RgtBnd):-((number(LftBnd),V>=LftBnd);(LftBnd == nInf)),((number(RgtBnd),V<RgtBnd);(RgtBnd == pInf)).
    
    %binTree(+Tree)
    binTree(t(L,V,R)):-binTree(t(L,V,R),nInf,pInf).
    binTree(nil,_,_).
    binTree(t(L,V,R),LftBnd,RgtBnd):-fit(V,LftBnd,RgtBnd),binTree(L,LftBnd,V),binTree(R,V,RgtBnd).
    

Snad to bude ono. Funguje to jednoduse tak, ze si drzim cestou v jakem rozmezi se musi hodnoty vrcholu pro jednotlive podstromy. Pokud se do stromu pridavaji stejne hodnoty, ktere ve stromu jiz jsou tak predikat pocita s tim, ze se davaji vzdy do praveho syna.
nInf ~ -oo
pInt ~ +oo
  
Dej vedet, jestli to resi tvuj problem ;-)
<{/ForumPost}>

<{ForumPost(poster="Anonymous", timestamp=2009-06-15 19:39:04)}>
Ahoj,
  
vypada to v pohode, diky moc. Mimochodem, psal si to sam nebo to odnekud je? Pokud za b, mohl bys mi prosim napsat, odkud?
<{/ForumPost}>

<{ForumPost(poster="Him", timestamp=2009-06-15 19:44:40)}>
Je to vlastní výroba. Ostatně je to nejpřímější způsob jak to napsat. To bys měl dát dohromady sám, ne? Nebo je na tom něco nejasného?
<{/ForumPost}>