Problem
1. Write a recursive algorithm to do the marking of all reachable heap objects.
2. Write a short report on possible different policies for extracting a block from the heap free list as a new storage area needs to be allocated. In order to survey the possible solutions, you may refer to books on data structures.