learning data structure and algorithm basic