Question: 4.3 Detecting circular linked-lists (20 points) NNNNNNNN Consider a singly linked-list implementation consisting of 'Listcell' objects (since this is a singly linked list there are

4.3 Detecting circular linked-lists (20 points) NNNNNNNN Consider a singly linked-list implementation consisting of 'Listcell' objects (since this is a singly linked list there are only `next' links). Assume that the user of the data structure has to manually construct lists by creating 'Listcell' objects. Write a method "has_cycles (head)' that checks whether an input list your input is the first cell of the list) has cycles, i.e., there exists a list cell which is pointing to one of its predecessors in the list. For instance, the following list has a cycle ( 12' points back to '11'): | head = ListCell(, None) | 11 = ListCell(1, None) 12 = Listcell(2, None) | head.next = 11 | 11.next = 12 | 12.next 11 | # BEGIN SOLUTION | # END SOLUTION
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
