Binary Search Trees (OCR A Level Computer Science)

Revision Note

James Woodhouse

Expertise

Computer Science

Binary Search Trees

What is a Binary Search Tree?

  • A binary search tree is a rooted tree where the nodes of the tree are ordered

  • It is ordered to optimise searching

  • If the order is ascending, the nodes on the left of the subtree have values that are lower than the root node, the nodes to the right have a higher value than the root node

How do you Insert a value in a Binary Search Tree?

inserting-a-value-in-a-binary-search-tree
  • To insert the value '2' into the binary tree above we need to compare the item to the nodes in the tree 

  1. Compare 2 to 10; 2 is smaller than 10, so you go down to the left child

  2. Compare 2 to 7; 2 is smaller than 7 so you go down to the left child

  3. Compare 2 to 1; 2 is higher than 1 so you go down to the right and add as a child node of 1

inserting-a-value-in-a-binary-search-tree-2

Removing Data from a Binary Search Tree

How do you delete data from a Binary Search Tree?

To delete a node from the Binary Search Tree then there are 3 possibilities:

1. The Node is a Leaf Node

  • If the node to be deleted is a leaf node, then we can directly delete this node as it has no child nodes. Node 4 does not have any child nodes so it can be deleted straight away

removing-data-to-a-binary-search-tree

2. The Node has only 1 child

  • If the node to be deleted has 1 child, then we copy the value of the child in the node and then delete the node. In the diagram, '2' has been replaced by '4', which was its child node originally

removing-data-to-a-binary-search-tree-2

3. The Node has 2 children

  • If the node to be deleted has 2 children, then we replace the node with the in-order successor of the node or simply the minimum node in the right subtree if the right subtree of the node is not empty. We then replace the node with this minimum node and delete the node

removing-data-to-a-binary-search-tree-3

Exam Tip

Remember that Binary Search Trees can have a maximum of 2 children for each parent node, but it is not a requirement that they have 2.

You've read 0 of your 0 free revision notes

Get unlimited access

to absolutely everything:

  • Downloadable PDFs
  • Unlimited Revision Notes
  • Topic Questions
  • Past Papers
  • Model Answers
  • Videos (Maths and Science)

Join the 100,000+ Students that ❤️ Save My Exams

the (exam) results speak for themselves:

Did this page help you?

James Woodhouse

Author: James Woodhouse

James graduated from the University of Sunderland with a degree in ICT and Computing education. He has over 14 years of experience both teaching and leading in Computer Science, specialising in teaching GCSE and A-level. James has held various leadership roles, including Head of Computer Science and coordinator positions for Key Stage 3 and Key Stage 4. James has a keen interest in networking security and technologies aimed at preventing security breaches.