singly linked list
algorithms