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

λ§žμ™œν‹€

μ‚½μž… μ •λ ¬(insertion sort)
CS/Algorithm

μ‚½μž… μ •λ ¬(insertion sort)

2020. 9. 23. 11:27
λ°˜μ‘ν˜•

πŸ“” μ‚½μž… μ •λ ¬(insertion sort) μ΄λž€

  • 숫자λ₯Ό μ μ ˆν•œ μœ„μΉ˜μ— μ‚½μž…ν•˜λŠ” 방법 "ν•„μš”ν•  κ²½μš°μ—λ§Œ" μœ„μΉ˜λ₯Ό λ°”κΎΌλ‹€.
  • 2개의 λ°˜λ³΅λ¬Έμ„ μ€‘μ²©ν•΄μ„œ κ΅¬ν˜„ν•˜κΈ° λ•Œλ¬Έμ— μ‹œκ°„λ³΅μž‘λ„λŠ” O(n^2)
  • ν•œ μ„ΈνŠΈκ°€ 끝날 λ•Œλ§ˆλ‹€ μ•žμ˜ μˆ«μžλ“€μ€ "μ •λ ¬"된 μƒνƒœμ΄λ‹€.

 

πŸ“” μ‚½μž… μ •λ ¬(insertion sort) 예제

  • μœ„μ˜ μ˜ˆμ œλŠ” μ˜€λ¦„μ°¨μˆœμΌ 경우의 μ˜ˆμ œμ΄λ‹€.
  • 5개의 μ›μ†Œμ€‘ 처음과 κ·Έ λ‹€μŒμ„ λΉ„κ΅ν•œλ‹€. κ·Έ λ‘˜μ„ μ •λ ¬ν•œλ‹€.
  • 1μ„ΈνŠΈκ°€ λλ‚˜λ©΄ μ•žμ˜ μˆ«μžλ“€(λ…Έλž€μƒ‰)은 μ •λ ¬λœ μƒνƒœμ΄λ‹€.
  • λ‹€μŒ μ„ΈνŠΈλŠ” λ‘λ²ˆμ§Έ μˆ«μžλΆ€ν„° μ•žμ˜ μˆ«μžμ™€ λΉ„κ΅ν•œλ‹€.

 

πŸ“” μ‚½μž… μ •λ ¬(insertion sort) κ΅¬ν˜„

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

 

πŸ“” μ‚½μž… μ •λ ¬(insertion sort) νŠΉμ§•

  • μž₯점
    • 버블정렬과 선택정렬과 같은 O(n^2) μ΄μ§€λ§Œ μ–΄λŠμ •λ„ 정렬이 λ˜λŠ” ν˜•νƒœλ‘œ μ§„ν–‰λ˜κΈ° λ•Œλ¬Έμ— μ—°μ‚°μ˜ νšŸμˆ˜κ°€ 적어 사싀상 쑰금 더 λΉ λ₯΄λ‹€.
  • 단점
    • μ—­μ‹œ μ‹œκ°„λ³΅μž‘λ„ O(n^2)

 

  • λ§Œμ•½ 정렬이 거의 된 μƒνƒœλΌλ©΄ ν•œμ„ΈνŠΈμ— μˆ˜ν–‰ν•˜λŠ” 연산이 거의 μ—†μœΌλ―€λ‘œ 속도가 맀우 빨라진닀.

 

 

 

πŸ“” μ‚½μž… μ •λ ¬(insertion sort) μ°Έκ΅μžλ£Œ

 

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

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

병합 μ •λ ¬(merge sort)  (0) 2020.09.25
퀡 μ •λ ¬(quick sort)  (1) 2020.09.24
선택 μ •λ ¬(selection sort)  (0) 2020.09.22
버블 μ •λ ¬(bubble sort)  (0) 2020.09.21
λΉ… 였(Big O) - μ‹œκ°„λ³΅μž‘λ„  (0) 2020.09.09
    'CS/Algorithm' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • 병합 μ •λ ¬(merge sort)
    • 퀡 μ •λ ¬(quick sort)
    • 선택 μ •λ ¬(selection sort)
    • 버블 μ •λ ¬(bubble sort)
    deo2kim
    deo2kim
    μ½”λ”© κΈ°λ‘ν•˜κΈ°

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