{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

BinarySearchTree-102-sp10

BinarySearchTree-102-sp10 - removed remove private...

This preview shows pages 1–4. Sign up to view the full content.

Review: Search Linear Search Binary Search Search demos: http://www.cosc.canterbury.ac.nz/people/mukun

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Binary Search Tree A binary tree where every node's left subtree has values less than the node's value, and every right subtree has values greater. A new node is added as a leaf. Check out this applet: http://www.cs.jhu.edu/~goodrich/dsa/trees/btree
Remove node algorithm Find element If it is a leaf just delete it If it has one child adjust the parent to point to the child (thus bypassing the node) If it has two children Replace data with the smallest data of the right subtree Recursively delete the node which now needs to be

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: removed remove private BinaryNode<AnyType> remove( AnyType x, BinaryNode<AnyType> t ) { /* 1*/ if( t == null ) return t; // Item not found; do nothing int compareResult = x.compareTo( t.element ); /* 2*/ if(compareResult < 0 ) t.left = remove( x, t.left ); /* 3*/ else if(compareResult > 0 ) t.right = remove( x, t.right ); /* 4*/ else if( t.left != null && t.right != null ) // Two children { t.element = findMin( t.right ).element; t.right = remove( t.element, t.right ); } /*567*/ else t = ( t.left != null ) ? t.left : t.right; return t; }...
View Full Document

{[ snackBarMessage ]}

Page1 / 4

BinarySearchTree-102-sp10 - removed remove private...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online