If we need to manage a contiguous range of memory, handling requests to allocate various sized chunks, and later make those chunks free for reuse (as the malloc() and free() routines do in a C program), we have a number of linked list allocation algorithms that we could choose from. If our primary objective in allocating a chunk was to leave the smallest fragment possible after the allocation, which algorithm would we implement?a. slab allocator.b. worst-fit allocator.c. first-fit allocator.d. best-fit allocator.e. bit-map allocator.