Kırmızı siyah ağacın iç yol uzunluğunu bulmamızı isteyen bir ev ödevi sorunu üzerinde çalışıyorum. Bu, bugüne kadar uyguladığım kod.Kırmızı siyah ağacın iç yol uzunluğu
int Tree::internalpathlength(BinTree* root_node, int curr_level){
int ipl;
if(root_node == NULL){
return 0;
}
else if(root_node->colour == BLACK){
ipl = (curr_level+internalpathlength(root_node->left,curr_level+1)+internalpathlength(root_node->right,curr_level+1));
}
return ipl;
}
Bence özyineleme temel durumunu kaçırıyorum. Birisi bunu daha iyi anlamama yardımcı olabilir mi? Teşekkürler.
Koşulların hiçbirinin eşleşmemesi durumunda başlatılmamış bir değer olan int ipl; –
@ πάνταῥεῖ. Onu tamir ettim. Hala konuyla ilgileniyor gibi görünmüyorum. SİYAH'a kök düğüm atamakla ilgili bir şey olduğuna inanıyorum. Bunu yapmanın doğru yolu olup olmadığından emin değilim. –