java - How do I test my delete method in a BST -


so in binary search tree, i'm trying test delete method see if removes node bst. problem test keeps saying didn't work. here's how i'm testing delete method

message = "test 3: deleting 'word' -- "; t = new bstrefbased(); try {     t.delete("word");     result = t.getrootitem().getword().equals(null); } catch (exception e) {     result = false; } system.out.println(message + (result ? "passed" : "failed")); 

here's delete method:

   public void delete(string word) {         root = deleteitem(root, word);     }       protected treenode deleteitem(treenode r, string word) {         if (r == null){             return r;         }         if(word.compareto(r.item.getword()) < 0){             return r;         } else if (word.compareto(r.item.getword()) > 0) {             return r;         } else if(r.left != null && r.right != null)         {             return deleteitem(r, word);         } else {             return r;         }     return r; } 

so why keep saying delete method failed in output? problem test code or actual method? did insert word 'word' in bst should there. here's pseudo code version of want delete method do:

delete(treenode ,searchitem) targetnode = search(treenode ,searchitem) if targetnode null return  p = parent node of target node  if targetnode has no children update ref in p leads targetnode return  if targetnode has 1 child c update ref in p leads  targetnode overwriting ref c  (either left- or right-ref in p) return  m = targetnode's inorder successor (i.e., left-most in-order  successor in targetnode's right subtree) m = item in m copy m targetnode's item field  delete (treenode, m) return  

assuming code bst written correctly, explain me how deleting node? when @ code, call deleteitem(root, word) doesn't @ all. regardless of happens, return root, applied root.


Comments

Popular posts from this blog

cakephp - simple blog with croogo -

How to group boxplot outliers in gnuplot -

bash - Performing variable substitution in a string -