Quiz submission record for quiz2-1-1 at Mon Jun 28 10:08:36 2004: Your Answer for Question 1: b and c are true. Namely because if there isn't enough free space reserved by the program, it will grab more memory from the system. Depending on circumstances, this may mean that the final result is more free blocks than before or in rarer conditions, the exact same amount as before. Your Answer for Question 2: a. it should always increase the number of free blocks because if you are calling it, you are always putting something back into the free space list Your Answer for Question 3: Java's analog to malloc is the "new" call. There is no analog for freeing memory since the memory is automatically garbage collected. People have made a memory management system for C, alloca, however the way C interprets it & machine-specific architecture prevent it from being standard Your Answer for Question 4: It can be erased by reference counting since the upper left node has no references to it. After it is removed, the other nodes will end up with no references, and they will likewise be reclaimed. I can be reclaimed by the mark & sweep method. After traversing and marking all the nodes from the roots, this structure will remain unmarked so it will be swept away. Your Answer for Question 5: I found the majority of the reading somewhat confusing. In particular, K&H's malloc and free functions are difficult to follow with its terse description. And trying to follow all the pointers makes me dizzy. I'll need to ask in section. Your unique submission ID is quiz2-1-1-cs61c-ed-1088442516-2038.