Add heap sort implementation

*nit*: the type annotation is not necessary here