algorithm of data structure