Back to 课程

Computer-Science-A-level-Ocr

0% Complete
0/0 Steps
  1. 3-3-networks
    8 主题
  2. 3-2-databases
    7 主题
  3. 3-1-compression-encryption-and-hashing
    4 主题
  4. 2-5-object-oriented-languages
    7 主题
  5. 2-4-types-of-programming-language
    4 主题
  6. 2-3-software-development
    5 主题
  7. 2-2-applications-generation
    6 主题
  8. 2-1-systems-software
    8 主题
  9. 1-3-input-output-and-storage
    2 主题
  10. 1-2-types-of-processor
    3 主题
  11. 1-1-structure-and-function-of-the-processor
    1 主题
  12. structuring-your-responses
    3 主题
  13. the-exam-papers
    2 主题
  14. 8-2-algorithms-for-the-main-data-structures
    4 主题
  15. 8-1-algorithms
    10 主题
  16. 7-2-computational-methods
    11 主题
  17. 7-1-programming-techniques
    14 主题
  18. 6-5-thinking-concurrently
    2 主题
  19. 6-4-thinking-logically
    2 主题
  20. 6-3-thinking-procedurally
    3 主题
  21. 6-2-thinking-ahead
    1 主题
  22. 6-1-thinking-abstractly
    3 主题
  23. 5-2-moral-and-ethical-issues
    9 主题
  24. 5-1-computing-related-legislation
    4 主题
  25. 4-3-boolean-algebra
    5 主题
  26. 4-2-data-structures
    10 主题
  27. 4-1-data-types
    9 主题
  28. 3-4-web-technologies
    16 主题
课 Progress
0% Complete

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

Examiner Tips and Tricks

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.

Responses

您的邮箱地址不会被公开。 必填项已用 * 标注