Some definitions and basic data structure for algorithms