a decent version and a simplified version to select k smallest elements using min heap