add datastrunct and agorithms