Data Structures and algorithms: Binary Search Tree (BST), Linked List, Stack, Queue, Array, Selection and Insertion Sort