practising data structure algorithms