TIL - 2024.04.25 목요일

· 성취/개선/학습한 내용 🏆

 Swift 내에서 Sort가 어떻게 작동하는지 파악해 보기 위해 정렬에 대해서 학습을 하였다. 간단하게 설명해 보자면 버블정렬은 두 개씩 비교해서 큰 수를 뒤로 보내는 방법으로 정렬을 한다. 삽입 정렬은 카드 게임에서 패를 정리하는 것처럼 앞에서부터 정렬된 부분과 비교해 정렬을 하는 방식이다. (예를 들어 4 9 7 1 8이라면, 7이라는 수를 4와 9 사이에 넣는 것, 그 후 4 7 9 1 8이라면, 1을 맨 앞으로) 병합정렬은 데이터를 분할하고 다시 합치는 정렬 방식으로 재귀 알고리즘을 사용해야 해서 약간 어렵다. 마지막으로 퀵정렬은 pivot을 기준으로 작거나 같은 값, 큰 값으로 데이터를 재귀적으로 분리하는 정렬방식인데 나도 그 방법이 좀 어려워서 이해하기가 힘들다... 만약 자세한 코드가 궁금하다면 아래 글을 참고하면 된다. 다시 돌아와서 결론적으로 Swift내에서 Sort를 구현하는 방법은 Tim Sort(병합 / 삽입) 방식으로 변경되었다고 한다.

 

[알고리즘] Swift 정렬

Swift의 sort 메서드는 어떻게 동작하는지, 얼마나 효율적인지 궁금할 때가 있다. 이를 알아보기 위해 대표적인 정렬 알고리즘 몇 가지를 알아보고, swift에서는 어떻게 구현되어 있는지 알아보자!0.

d0ngurrrrrrr.tistory.com

  • 알고리즘
    • 백트레킹
  • 정렬
    • 버블정렬
    • 삽입정렬
    • 병합정렬
    • 퀵정렬

· 어려웠던 내용 😵😵‍💫

  • 퀵 정렬이 어렵다. 한 번에 이해하기 어려운 로직이라 더 그런 것 같다.

 

 

 

'# TIL (Today I Learned)' 카테고리의 다른 글

TIL - 2024.04.29 월요일  (0) 2024.04.29
TIL - 2024.04.26 금요일  (0) 2024.04.26
TIL - 2024.04.24 수요일  (0) 2024.04.24
TIL - 2024.04.23 화요일  (0) 2024.04.23
TIL - 2024.04.22 월요일  (0) 2024.04.22