취업,면접 대비/면접 대비 문제

<면접 대비> : 퀵소트vs힙소트, 스택 vs 힙

studying develop 2020. 3. 3. 16:46

 

퀵소트 힙소트 차이

<https://www.youtube.com/watch?v=H5kAcmGOn4Q&list=PLnVmIi3a0KsOQuhIyNKheXQNYWNqtZgpk&index=7&t=0s>

영상을 보니 , 비교 횟수는 퀵소트가 많은데 교환 횟수는 퀵소트가 현저히 적어서 효율적이다. heaptify 과정에서 swap 횟수가 너무 많아 힙소트가 성능이 현저히 떨어진다.

 

업로드 한 분이 머지소트 영상도 있는데, 왜 머지 소트가 퀵소트에 밀리는지 잘 알 수 있다. 머지 소트는 두 배열 사이에 이동하는 과정이 비효율적 ㅋㅋ

 

 


 

스택을 사용하는 이유, 부제 스택 vs 힙 ㅋㅋ

도대체 왜일까 ㅋㅋ? 리컬젼 사용하려고 그런거같다. 근데 고민 하면 할 수록 힙에서 사용하는 방식과 많이 다르 다는 것을 알 수 있다. 

 

대표 적으로 힙은 일단 공간 할당 하고 사용하려는 거고 , 데이타 영역도 음 할당 해놓고 시작하고,

 

힙은 사용 중에 할당하면서 사용하려 하니까 스택이랑 섞여있다고 상상해보면 , 스택에서 돌아가야 할 부분으로 원활히 돌아가는게 힘들지 않나, 계속 체크하고 있어야 될거같은데 ret addr을? 힙은 즉 런타임에 메모리가 할당 될 수 있다는게 엄청 중요한 특징인거 같다. 스택도 마찬가지로 런타임에 할당되는건 마찬가진데, 음 순서를 저장하는게 스택보다 좋을 수 가 있나?

 

명확한 답은 모르겠지만 고민 할 수록 데이터, 스택, 힙 영역들의 특징들에 대해 깊게 생각하게 되는거 같다.

 


 

[https://hwan-shell.tistory.com/13]

새로운 이유도 찾았다. 메모리를 이용한 해킹 공격을 막기 위해서 메모리의 가장 큰 부분에서 거꾸로 주소가 작아지는 식으로 사용한다니~~