add binary heap implementation and update karatsuba algorithm
add segment tree and union-find structures