data_structure abstract_data_type collection sequence ordered linear positional indexable recursive