array/strings, ds, trees: added diagonal matrix problem, longest subsequence, tree implementation, and calculate tree height/check balance