Taking baby-developer steps

22.05.09.push_swap - 정렬 알고리즘 최적화-7 본문

Logs/학습 log

22.05.09.push_swap - 정렬 알고리즘 최적화-7

Surin Lee 2022. 5. 9. 07:26

sort_a_mid가 이상이 있는 부분은 i가 바닥에 가까워, rra 연산을 사용할 때 였고, 해당 부분을 수정해서 a_stack에 있는 ㄹ구간을 정렬시켰다.(도중에 ㅁ구간을 a_stack에서 정렬한 뒤 다시 b스택으로 옮겼다가, ㄹ구간을 a_stack으로 옮겨서 정렬하는것이 효율적이지 못하다고 생각해, 정렬되지 않은 구간이 ㄹ, ㅁ 뿐일때, ㄹ구간을 먼저 a스택으로 옮겨 정렬하고, b스택에서 최소값을 a로 넘기는 방법으로 변경했다.)

=> ㄹ구간 정렬까지 사용한 명령어의 갯수는 총 5347개이다.

=> ㄹ 구간 정렬 이후, b_stack에서 바로 최소값을 하나하나 찾아서 a_stack으로 넘기니, 명령어의 수가 급격히 증가해버렸다. 다시 ㅁ구간을 따로 정렬하도록한다.

 

이미 구현한 함수들의 재사용성을 높이기 위해, 다시 ㅁ구간을 a스택에 먼저 빼두고 정렬하기로 했다.

 

Comments