Hi,
This is Maida Ijaz from Educative. The answer of question 1 should be “true”. Since, it is possible by some stroke of luck that the memory manager allocates all nodes in contiguous memory locations, even though all allocations would be done separately. This is very unlikely, but there is no rule that says that linked list nodes will never be allocated contiguously.
About the circular linked list, here is the definition from a popular textbook by Goodrich and Tamassai:
The nodes of a circular linked list are linked into a cycle. Traversing nodes of a circular linked list from any node following next pointers, we will eventually visit all nodes and cycle back to node from where we started.
It is not possible for this definition to be true unless the tail points to the head and not any other node.
Best Regards,
Maida| Developer Advocate
educative.io