less than 1 minute read

Mention : 데이터를 의미있는 구조로 만들기 sort

정렬 (Sort)

  • 정렬은 데이터를 정해진 기준에 따라 배치해 의미 있는 구조로 재설정하는 것
    • ex) 오름차순 (ascending order) 1,2,3,4
    • ex) 내림차순 (descending order) 4,3,2,1

버블 정렬 (bubble sort)

  • 인접한 데이터의 크기를 비교정렬하는 방법

https://w.namu.la/s/ee412a864c3bdcb6cf7077f8ef87e01d4353cf53e66d2a5f6b7def49d257d569a46c810b1b36b9924a495a697c60777bb82d25459c2cbb65e4a700c25351af9b8b5c489c911f29771bc713403c9a53a7541ad1ced1cf829e089c2d26bcd2b573

  • 시간 복잡도 O(n^2)
    • 다른 정렬 알고리즘보다 속도가 느린 편
    • 루프를 돌면서 인접한 데이터 간의 swap 연산으로 정렬
  • 버블 정렬 과정

https://technologystrive.com/wp-content/uploads/2021/09/Bubble-Sort-Example-Iteration-2.png?v=1632804995

선택 정렬 (Selection sort)

  • 대상 데이터에서 최대나 최소 데이터를 데이터가 나열된 순으로 찾아가며 선택하는 방법

https://w.namu.la/s/979f72a99b510094586ff21e4630d82c8660df53ae68e7a0255aae2dceb4cc4f4f2d965119bacad3d0195454b90beca653ae376cc898f44f6ffca5df02afeb81690e3f324d10cb128505208d70c9ea8dd3bb0cbc64e4cde63ac9aec74b293350

  • 시간복잡도 O(n^2)

선택 정렬 과정

https://www.simplilearn.com/ice9/free_resources_article_thumb/Selection-Sort-Soni/what-is-selection-sort.png

  • 남은 정렬 부분에서 최솟값 또는 최댓값을 찾는다.
  • 남은 정렬 부분에서 가장 앞에 있는 데이터와 선택된 데이터를 swap한다.
  • 가장 앞에 있는 데이터의 위치를 변경해(index++) 남은 정렬 부분의 범위를 축소한다.
  • 전체 데이터 크기만큼 index가 커질 때까지, 즉 남은 정렬 부분이 없을 때 까지 반복한다.

Reference 📚

https://ko.wikipedia.org/wiki/선택_정렬

Leave a comment