Diff for ''

Revision 15
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:
<div style="clear: right; float: right; line-height: 1.4; margin: 0 0 1em 1em; width: 16em; border: 1px solid #aaa;">
{| class="wikitable" style="font-size: 85%; margin-top: 0; width: 100%;"
|-
| style="font-size: 120%; font-weight: bold; text-align: center; background: #def;" |Prednášky z [[Vyčíslitelnost II_|Vyčísliteľnosti II]]
|-
!Obsah
|-
||
*[[TIN065 Prehľad|Prehľad]]
*[[TIN065 Prednáška 01|Prvá prednáška]]
*[[TIN065 Prednáška 02|Druhá prednáška]]
*[[TIN065 Prednáška 03|Tretia prednáška]]
*[[TIN065 Prednáška 04|Štvrtá prednáška]]
*[[TIN065 Prednáška 05|Piata prednáška]]
*[[TIN065 Prednáška 06|Šiesta prednáška]]
*[[TIN065 Prednáška 07|Siedma prednáška]]
*[[TIN065 Prednáška 08|Ôsma prednáška]]
*[[TIN065 Prednáška 09|Deviata prednáška]]
*[[TIN065 Prednáška 10|Desiata prednáška]]
*[[TIN065 Prednáška 11|Jedenásta prednáška]]
*Dvanásta prednáška
*[[TIN065 Zhrnutie|Zhrnutie na skúšku]]
|}
</div>
# 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}>