deo2kim
λ§žμ™œν‹€
deo2kim
전체 방문자
였늘
μ–΄μ œ
  • λΆ„λ₯˜ 전체보기
    • CS
      • Algorithm
      • Data Structure
      • Network
      • DB
      • OS
    • Algorithm Problem
      • Python
      • JavaScript
    • Programming language
      • Python
      • JavaScript
    • Tool
      • Jquery
      • React
    • 개발
    • Infra

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • νƒœκ·Έ
  • λ°©λͺ…둝

곡지사항

인기 κΈ€

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

λ°˜μ‘ν˜•
hELLO Β· Designed By μ •μƒμš°.
deo2kim

λ§žμ™œν‹€

선택 μ •λ ¬(selection sort)
CS/Algorithm

선택 μ •λ ¬(selection sort)

2020. 9. 22. 22:51
λ°˜μ‘ν˜•

πŸ“” 선택 μ •λ ¬(selection sort) μ΄λž€

  • μ˜€λ¦„μ°¨μˆœμ˜ 경우 κ°€μž₯ μž‘μ€ μ›μ†Œλ₯Ό 맨 μ•žμœΌλ‘œ 보낸닀.
  • 2개의 λ°˜λ³΅λ¬Έμ„ μ€‘μ²©ν•΄μ„œ κ΅¬ν˜„ν•˜κΈ° λ•Œλ¬Έμ— μ‹œκ°„λ³΅μž‘λ„λŠ” O(n^2)
  • ν•œ μ„ΈνŠΈκ°€ 끝날 λ•Œλ§ˆλ‹€ κ°€μž₯ μž‘μ€ μˆ˜κ°€ 맨 μ•žμ— μ˜¨λ‹€.

 

πŸ“” 선택 μ •λ ¬(selection sort) 예제

  • μœ„μ˜ μ˜ˆμ œλŠ” μ˜€λ¦„μ°¨μˆœμΌ 경우의 μ˜ˆμ œμ΄λ‹€.
  • 5개의 μ›μ†Œμ€‘ κ°€μž₯ μž‘μ€ 숫자λ₯Ό 맨 μ•žμ˜ μˆ«μžμ™€ λ°”κΎΌλ‹€.
  • 1μ„ΈνŠΈκ°€ λλ‚˜λ©΄ κ°€μž₯ μž‘μ€ μˆ˜κ°€ 맨 μ•žμœΌλ‘œ μ˜¨λ‹€. 
  • λ‹€μŒ μ„ΈνŠΈλΆ€ν„°λŠ” 맨 μ•žμ˜ 숫자λ₯Ό λΉΌκ³  비ꡐλ₯Ό ν•΄μ€€λ‹€. (이미 κ°€μž₯ μž‘μ€ 수이기 λ•Œλ¬Έ)

 

πŸ“” 선택 μ •λ ¬(selection sort) κ΅¬ν˜„

numbers = [5, 3, 8, 1, 2]
print(f'μ •λ ¬ μ „: {numbers}')
print()
for i in range(len(numbers)):
    print(f'{i + 1}μ„ΈνŠΈ')
    min_number = 99
    idx = 0
    for j in range(i, len(numbers)):
        if numbers[j] < min_number:
            min_number = numbers[j]
            idx = j
    else:
        numbers[i], numbers[idx] = numbers[idx], numbers[i]
    print(f'μ •λ ¬ 쀑: {numbers}')
print()
print(f'μ •λ ¬ ν›„: {numbers}')

 

πŸ“” 선택 μ •λ ¬(selection sort) νŠΉμ§•

  • μž₯점
    • λ‹¨μˆœν•œ κ΅¬ν˜„
  • 단점
    • 정렬이 λΆˆν•„μš”ν•œ μš”μ†Œμ—λ„ μ ‘κ·Όν•΄μ•Ό ν•œλ‹€.
    • μ‹œκ°„λ³΅μž‘λ„ O(n^2)
  • κ΅¬ν˜„μ΄ κ°„λ‹¨ν•˜μ§€λ§Œ 맀우 λΉ„νœΌμ μ΄λ―€λ‘œ κ±°μ˜ 쓰이지 μ•ŠμŒ.

 

πŸ“” 선택 μ •λ ¬(selection sort) 참ꡐ자료

 

λ°˜μ‘ν˜•
μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ λ³€κ²½κΈˆμ§€ (μƒˆμ°½μ—΄λ¦Ό)

'CS > Algorithm' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

퀡 μ •λ ¬(quick sort)  (1) 2020.09.24
μ‚½μž… μ •λ ¬(insertion sort)  (0) 2020.09.23
버블 μ •λ ¬(bubble sort)  (0) 2020.09.21
λΉ… 였(Big O) - μ‹œκ°„λ³΅μž‘λ„  (0) 2020.09.09
μ΅œμ†Œ μ‹ μž₯ 트리(Minimum Spanning Tree)  (2) 2020.08.12
    'CS/Algorithm' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • 퀡 μ •λ ¬(quick sort)
    • μ‚½μž… μ •λ ¬(insertion sort)
    • 버블 μ •λ ¬(bubble sort)
    • λΉ… 였(Big O) - μ‹œκ°„λ³΅μž‘λ„
    deo2kim
    deo2kim
    μ½”λ”© κΈ°λ‘ν•˜κΈ°

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”