The testing process: Implementing code or fixing bugs in C++.
Motivation: Basic familiarity with the programming language used on the job is a prerequisite for quickly getting up to speed.
The testing process: Designing or analyzing an algorithm or data structure.
Motivation: Algorithmic thinking is one of the key traits of a good programmer, especially one working on complex or performance-critical code.
The testing process: Using data structures to optimize code performance.
Motivation: Choosing the right data structure to solve the problem at hand is a very important skill for a good programmer.
Binary search tree (BST) is a binary tree where the value of each node is larger or equal to the values in all the nodes in that node's left subtree and is smaller than the values in all the nodes in that node's right subtree.
Write a function that checks if a given binary search tree contains a given value.
For example, for the following tree:
- n1 (Value: 1, Left: null, Right: null)
- n2 (Value: 2, Left: n1, Right: n3)
- n3 (Value: 3, Left: null, Right: null)
Call to contains(n2, 3) should return true since a tree with root at n2 contains number 3.
- Example case: Exception
- Correctness: Exception
- Performance test on a large tree: Exception