* Imagine a binary tree (not necessarily full). Suppose we add two extra
fields (pointers) to every node. Traverse the tree and connect all nodes on
the same level with these two fields.
* Partition an array using a pivot value (this value does not necessarily
appear in the array). Prove the correctness of your code.
* Binary search an array. Make sure every detail and boundary conditions are
taken care of.
* Implement a queue with an array (enqueue and dequeue).
1. Upper limit on the queue si