Implementation of singly linked list.
Current implementation uses sentinel (or dummy) node as pseudo list head just as a part of internal logic. Sentinel nodes are widely used in trees and linked lists as pseudo-heads, pseudo-tails, markers of level end, etc. They are purely functional and usually do not hold any data. Their main purpose is to standardize the situation, for example, making the linked list to be never empty and never headless and hence simplify insert and delete.
Time complexity