add datastruct and algorithm test