Basic data structure and algorithm