Quiz submission record for quiz2-1-1 at Mon Jun 28 01:24:49 2004: Your Answer for Question 1: a.) not true because when you call malloc and you get a free block that is too big (in "first fit" algorithm), it will split the free block and return the correct size while the extra is returned. this will cause the number of free blocks to remain the same since the extra piece is returned to the free list. b.) yes this is true (see above) c.) no, a successful call to malloc may reduce the number of free blocks if the block returned is the correct size and is then used. spliting blocks will only turn out 2 pieces of free blocks, one to be used and one returned to the free list, thus the number of free blocks will never increase but may decrease or stay the same. Your Answer for Question 2: a.) not necessarily true because when you free a block that is adjacent to other free blocks, the algorithm will coalesce it into the adjacent free block thus keep the number of free blocks the same. b.) true (see above) c.) true because free only frees a single block and if necessary coalesces it into an adjacent free block but it never splits it or free more than 1 blocks at a time. d.) false (see above) Your Answer for Question 3: the java equivalent to malloc in C is the 'new' keyword. this basically allocates a new free block in memory for a certain object that is being declared. java doesn't have an equivalent to free because it uses automatic garbage collection so there is no way to manually deallocate in java. the C language has many kinds of dynamically allocated objects unlike Lisp. though it does store type information with every object a standard location, but it is not strongly typed. Your Answer for Question 4: yes this structure can be reclaimed by the reference count method because the first node does not contain a pointer to itself, thus when the reference count algorithm checks this node, it will see that it has no pointers to it and then free the node. if the very top left node is the root node, then the rest of the nodes will not be reclaimed by the mark and sweep method because the algorithm will recognize that they are still in use. however, if this structure is indpendent of any root pointers, the mark and sweep method will mark these nodes and garbage collect them when performing the sweep. Your Answer for Question 5: please go why C cannot have automatic memory allocation and clarify how the reference count garbage collection works and why circular structures cannot be reclaimed. Your unique submission ID is quiz2-1-1-cs61c-ao-1088411089-2546.