implements of various data structures && algorithms by Kelvin Chiang