add merge bottom up algorithm implementation