간접 heap 소트가 무엇인가요?
솔잎
2023.04.01
간접 heap 소트가 무엇인가요?
오늘 우연히 어떤 책을 보다가 중간에
직접 힙 소트가 아닌 간접 힙 소트를 사용할 경우 속도가 어느 정도의 효율성을 보인다고....
되어 있는 것을 보았습니다.
인터넷에 검색을 해보니 나오지 않는데요.
혹시 간단히 설명해 주실분 계신가요?
아니면 링크가 걸린 주소라도 알려주시면 감사하겠습니다^^
-
풀잎
와...정말 감사합니다. 어떻게 이런것까지 아시는지 대단하십니다^^
-
목향
복사해야 할 값의 크기가 300에서 12로 줄었으니, 포인터를 타고 한번더 참조해야 하는 것을 감안하더라도 어느정도의 속도개선 효과를 볼 수 있을 겁니다.
이런 것을 두고 간접정렬이라고 하는 것 같네요. (간접 힙 정렬을 검색해보니 indirect라는 말이 있어서 유추한 것입니다) -
해가빛
struct Field {
char data[100];
};
struct Field array[10];
위와 같은 배열이 있습니다. 이 배열을 strut Field.data를 기준으로 정렬한다고 할 때 두 항의 값 변경을
if(strcmp(array[i].data, array[j].data) 0) {
struct Field temp;
temp = array[0];
array[0] = array[1];
array[1] = temp;
}