1) Write down an algorithm or the code segment for searching a circular linked list for a given item.
2) Write down an algorithm or the code segment for locating nth successor of an item within the circular linked list (the nth item which follows the given item in the list).
3) Provide an algorithm similar to that in text for threading a binary tree, however to facilitate the pre order traversal.
4) Write down a recursive version of the linked list based linear search algorithm.