Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Algo(T,k)
- bst_node last = null, cur = T, figlio = NIL
- while(cur or figlio ){
- if(cur != NIL){
- if(cur.k != k){
- if(ABS(cur.k - k) < ABS(last.k - k))
- last = cur
- if(cur.k > k)
- cur=cur.sx
- else cur = cur.dx
- }else{
- if(cur.dx != NIL and cur.sx != NIL){ //Nel caso ci sono 2 figli salva solo il destro e cur va a sinistra
- figlio=cur.dx;
- cur=cur.sx
- }else if(cur.sx = NIL){
- cur=cur.dx
- }else cur = cur.sx
- }
- }else if(figlio!=NIL){ //Quando cur รจ diventato NIL se c'รจ ancora il destro da vedere lo rimette in cur
- cur = figlio //e mette figlio a NIL cosi dopo termina l'algoritmo(l'idea tua Bruno)
- figlio = NIL
- }
- }
- return last;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement