2011-10-05 2 views
0

heaport에서 삽입 정렬을 사용하여 스왑 또는 교환 방법을 대체 할 수 있습니까? 내 친구가 한 번의 작업 대신 세에 스왑을 줄이기 위해 삽입 정렬을 사용하는 것이 가능했다삽입 정렬을 사용한 힙배 교환?

temp = a 
a = b 
b = temp 

:

일반적으로가 필요하기를 최소한 3 단계를 교환합니다. 그렇지?

답변

2

힙의 요소를 내려 놓을 때 그 요소가 저장 될 때까지 그 요소를 저장하지 않는다는 것을 의미한다고 생각합니다. 따라서 스왑 당 하나의 작업 만 수행됩니다. 더 작은 요소를 힙의 새 위치에 저장합니다. 이 과정은 배열의 시작 부분에서 요소를 정렬 된 위치로 이동할 때 삽입 정렬의 프로세스와 유사합니다.