add Binary Heap Structure, and corresponding tests