Guidelines

μ‚½μž… μ •λ ¬ μžμ„Ένžˆ μ•Œμ•„λ³΄κΈ°

1. 반볡문 μ„€μ •

λ°°μ—΄μ˜ 각 μš”μ†Œμ— λŒ€ν•΄ λ°˜λ³΅ν•©λ‹ˆλ‹€. 첫 번째 μš”μ†ŒλŠ” 이미 μ •λ ¬λœ κ²ƒμœΌλ‘œ κ°€μ •ν•©λ‹ˆλ‹€.

반볡문 μ„€μ •
for i in range(1, len(arr)):

2. ν˜„μž¬ μš”μ†Œ 선택 및 μ μ ˆν•œ μœ„μΉ˜ 탐색

ν˜„μž¬ μš”μ†Œλ₯Ό μ„ νƒν•˜κ³ , 이전 μš”μ†Œλ“€κ³Ό λΉ„κ΅ν•˜μ—¬ μ μ ˆν•œ μœ„μΉ˜λ₯Ό μ°ΎμŠ΅λ‹ˆλ‹€.

ν˜„μž¬ μš”μ†Œ 선택 및 μ μ ˆν•œ μœ„μΉ˜ 탐색
key = arr[i] j = i - 1 while j >= 0 and key < arr[j]: arr[j + 1] = arr[j] j -= 1 arr[j + 1] = key

μ‹œκ°„ λ³΅μž‘λ„

  1. μ΅œμ•…μ˜ 경우 μ‹œκ°„ λ³΅μž‘λ„: O(n^2)

    • μ΅œμ•…μ˜ κ²½μš°λŠ” μž…λ ₯ 배열이 μ—­μˆœμœΌλ‘œ μ •λ ¬λ˜μ–΄ μžˆμ„ λ•Œ λ°œμƒν•©λ‹ˆλ‹€. 이 경우, 각 μƒˆ μš”μ†Œλ₯Ό μ‚½μž…ν•  λ•Œλ§ˆλ‹€ 이미 μ •λ ¬λœ λ°°μ—΄ λΆ€λΆ„μ˜ λͺ¨λ“  이전 μš”μ†Œλ“€κ³Ό 비ꡐ해야 ν•˜λ―€λ‘œ, n개의 μš”μ†Œμ— λŒ€ν•΄ λŒ€λž΅ (nxn)번의 비ꡐ가 ν•„μš”ν•©λ‹ˆλ‹€.
  2. μ΅œμ„ μ˜ 경우 μ‹œκ°„ λ³΅μž‘λ„: O(n)

    • 배열이 이미 μ •λ ¬λ˜μ–΄ μžˆλŠ” κ²½μš°μž…λ‹ˆλ‹€. μƒˆλ‘œμš΄ μš”μ†Œλ₯Ό μ‚½μž…ν•  λ•Œλ§ˆλ‹€, 이미 μ •λ ¬λœ λΆ€λΆ„μ—μ„œ μ μ ˆν•œ μœ„μΉ˜λ₯Ό λ°”λ‘œ 찾을 수 μžˆμœΌλ―€λ‘œ, 각 μš”μ†Œμ— λŒ€ν•΄ ν•œ λ²ˆμ”©λ§Œ λΉ„κ΅ν•˜λ©΄ λ©λ‹ˆλ‹€. λ”°λΌμ„œ, λ°°μ—΄μ˜ 크기만큼, 즉 n번의 비ꡐ가 ν•„μš”ν•©λ‹ˆλ‹€.
  3. 평균 μ‹œκ°„ λ³΅μž‘λ„: O(n^2)

    • 일반적인 경우, 즉 λ°°μ—΄μ˜ μš”μ†Œλ“€μ΄ λ¬΄μž‘μœ„λ‘œ λ°°μΉ˜λ˜μ–΄ μžˆμ„ λ•ŒλŠ” ν‰κ· μ μœΌλ‘œ n^2 λΉ„λ‘€ν•˜λŠ” 비ꡐ가 ν•„μš”ν•©λ‹ˆλ‹€.

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result