heap tree & fast sorting