Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ALGO(T)
- //dichiarazioni
- S_T=NULL, S_X=NULL;
- CT=T, NT=NULL, LT=NULL
- while ( S_T != NULL OR CT != NULL) do
- if( C_T != NULL )
- ret=1
- x= CT->K % 2
- //discesa a SX
- S_T=PUSH(S_T, CT)
- S_X=PUSH(S_X, x)
- NT= CT->DX
- else
- //Ripristino ambiente locale
- CT= TOP(S_T)
- x= TOP(S_X)
- //Se risalgo da DX (1° chiamata ricorsiva)
- if(LT != CT->SX && CT->SX != NULL)
- //Ritorno della 1° chiamata ricorsiva e discesa a SX
- a= ret
- x+= a
- NT=CT->sx
- else
- //Se sto risalendo da DX (2° chiamata ricorsiva)
- if(CT->SX != NULL)
- y=ret
- ret= x * y * CT->K
- NT= NULL
- else
- y=1
- ret= x * y * CT->K
- NT= NULL
- POP(S_T)
- POP(S_X)
- LT= CT
- CT= NT
- return ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement