bsc

Comprehensive codebase and coursework for the 4-year B.Sc. Computer Science Honours degree (WBSU)

git clone https://github.com/notamitgamer/bsc.git
· rebuilt hourlyOpen on GitHub
root / semester_2 / algorithms / algo_062.md

algo_062.md (796B)


      1 # algo_062
      2 
      3 ### Problem Statement
      4 
      5 > Write an algorithm to delete a node from a Binary Search Tree (BST).
      6 
      7 ## Algorithm
      8 ```
      9 procedure deleteNode(root, key)
     10 begin
     11     if (root = NULL) then
     12         return root;
     13     else if (key < INFO(root)) then
     14         LC(root) ← deleteNode(LC(root), key);
     15     else if (key > INFO(root)) then
     16         RC(root) ← deleteNode(RC(root), key);
     17     else
     18         if (LC(root) = NULL) then
     19             temp ← RC(root);
     20             free(root);
     21             return temp;
     22         else if (RC(root) = NULL) then
     23             temp ← LC(root);
     24             free(root);
     25             return temp;
     26         endif
     27         temp ← ins(root);
     28         INFO(root) ← INFO(temp);
     29         RC(root) ← deleteNode(RC(root), INFO(temp));
     30     endif
     31     return root;
     32 end procedure
     33 ```