[μ•Œκ³ λ¦¬μ¦˜] μ •λ ¬ μ‹œκ°„λ³΅μž‘λ„ 비ꡐ

2023. 1. 3. 21:06Β·πŸ“š 자료ꡬ쑰 및 μ•Œκ³ λ¦¬μ¦˜/μ •λ ¬ 및 탐색
728x90

μ •λ ¬μ˜ μ •μ˜

$n$개의 숫자λ₯Ό μž…λ ₯λ°›μ•„ μž…λ ₯ 받은
μˆ«μžλ“€μ„ 점점 μ»€μ§€λŠ” μˆœμ„œλ‚˜ 점점 μž‘μ•„μ§€λŠ” μˆœμ„œλ‘œ λ‹€μ‹œ μž¬λ°°μ—΄ν•˜μ—¬ 좜λ ₯ν•˜λŠ” 것

 

선택정렬

  • ν˜„μž¬ μƒν™©μ—μ„œ κ°€μž₯ μž‘κ±°λ‚˜ κ°€μž₯ 큰 숫자λ₯Ό μ„ νƒν•˜μ—¬ μž¬λ°°μΉ˜ν•˜λŠ” μ•„μ΄λ””μ–΄μ˜ μ•Œκ³ λ¦¬μ¦˜
  • μˆ˜ν–‰μ‹œκ°„: $_{n}\mathrm{C}_{2}$ λ˜λŠ” $n(n-1) \over 2$ λ˜λŠ” $\sum_{i=1}^{N-1} i$
  • μ΅œμ•…: μ„ νƒμ •λ ¬μ˜ κ²½μš°μ—λŠ” 항상 μΌμ •ν•˜κΈ° λ•Œλ¬Έμ— μ΅œμ•…μ˜ κ²½μš°λŠ” μ—†λ‹€
  • μ΅œμ„ : μ„ νƒμ •λ ¬μ˜ κ²½μš°μ—λŠ” 항상 μΌμ •ν•˜κΈ° λ•Œλ¬Έμ— μ΅œμ„ μ˜ κ²½μš°λŠ” μ—†λ‹€
  • 즉, μ‹œκ°„λ³΅μž‘λ„λŠ” $O(n^2)$
  • Not Stable μ •λ ¬μž„

 

μ‚½μž…μ •λ ¬

  • Key 값을 μ •λ ¬λœ 배열에 μ•Œλ§žμ€ μœ„μΉ˜μ— μ‚½μž…ν•˜μ—¬ μ •λ ¬λ¬Έμ œλ₯Ό ν‘ΈλŠ” μ•Œκ³ λ¦¬μ¦˜

$T(n) = c_{1}n+c_{2}(n-1)+c_{3}(n-1)+ c_{4}\sum_{j=2}^n t_{j}+c_{5}\sum_{j=2}^n (t_{j}-1)+c_{6}\sum_{j=2}^n (t_{j}-1)+c_{7}(n-1)$

  • μ΅œμ„ : 배열이 이미 μ •λ ¬λœ 경우, $t_{j} = 1$
  • μ΅œμ•…: 배열이 λ°˜λŒ€μˆœμ„œλ‘œ μ •λ ¬λ˜μ–΄ μžˆλŠ” 경우
  • 평균: 이미 정렬이 λ˜μ–΄μžˆλŠ” κ²½μš°λŠ” 잘 μ—†κΈ° λ•Œλ¬Έμ— κ²°κ΅­ μ‹œκ°„λ³΅μž‘λ„λŠ” $O(n^2)$
  • Stable μ •λ ¬μž„

 

합병정렬

  • 이미 μ •λ ¬λœ 두 개의 배열을 μž…λ ₯으둜 λ°›μ•„ μ •λ ¬λœ ν•˜λ‚˜μ˜ 배열을 좜λ ₯ν•˜λŠ” μ •λ ¬ μ•Œκ³ λ¦¬μ¦˜
  • μ΅œμ„ ,μ΅œμ•…, 평균: λͺ¨λ‘ λ™μΌν•˜κ²Œ $O(NlogN)$의 μ‹œκ°„λ³΅μž‘λ„λ₯Ό κ°€μ§„λ‹€.
  • Stable μ •λ ¬μž„

 

νž™μ •λ ¬

  • μž…λ ₯받은 숫자λ₯Ό νž™κ΅¬μ‘°λ‘œ λ§Œλ“€μ–΄ κ°€μž₯ μž‘κ±°λ‚˜ 큰 값을 μ°¨λ‘€λ‘œ 뽑아내어 μ •λ ¬λ¬Έμ œλ₯Ό ν•΄κ²°ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜
  • νž™μ— μ›μ†Œλ₯Ό μ‚½μž…ν•˜λŠ” μˆ˜ν–‰μ‹œκ°„ logN
  • Heapify 의 μˆ˜ν–‰μ‹œκ°„: νž™μ˜ 높이가 logN이기 λ•Œλ¬Έμ— 전체 μˆ˜ν–‰μ‹œκ°„μ€ $O(logN)$
  • 즉, heapify ν˜ΈμΆœλ§ˆλ‹€ logn, κ°’μΆ”μΆœνšŸμˆ˜λŠ” nμ΄λ―€λ‘œ μ‹œκ°„λ³΅μž‘λ„λŠ” $O(nlogn)$이닀.
  • Not Stable μ •λ ¬μž„

 


 

퀡정렬

  • 퀡정렬은 pivotκ³Ό partition을 μ΄μš©ν•˜μ—¬ 크기가 μž‘μ€ μˆ«μžλŠ” 계속 μ•žμͺ½μœΌλ‘œ μ΄λ™μ‹œν‚€κ³  크기가 큰 μˆ«μžλŠ” 계속 λ’€μͺ½μœΌλ‘œ μ΄λ™μ‹œμΌœ μ •λ ¬λ¬Έμ œλ₯Ό ν•΄κ²°ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€.
  • μž¬κ·€νŠΈλ¦¬λ‘œ μ ˆλ°˜μ”© λ‚˜λˆ  λ‚΄λ €μ˜€λ©΄μ„œ 높이 logNλ§ˆλ‹€ n번의 비ꡐ가 이루어져 μ‹œκ°„λ³΅μž‘λ„λŠ” $O(NlogN)$
  • μ΅œμ•…μ˜ κ²½μš°λŠ” μž¬κ·€νŠΈλ¦¬μ˜ ν˜•νƒœκ°€ ν•œμͺ½μœΌλ‘œ 치우쳐 μ§€λŠ” 경우
    (즉, 이미 μ •λ ¬λ˜μ–΄ μžˆλŠ” κ²½μš°μ™€ λ™μ‹œμ— ν”Όλ²—μ˜ 섀정이 κ°€μž₯ μž‘μ€κ°’μ΄λ‚˜ ν°κ°’μœΌλ‘œ μ§€μ •λ˜μ—ˆμ„ 경우)
  • μ΅œμ•…μ˜ 경우λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 피벗을 μž„μ˜μ˜κ°’μœΌλ‘œ μ„€μ •ν•˜λŠ” 방법이 μžˆλ‹€.
  • Not Stable μ •λ ¬μž„

 


 

μΆ”ν›„ μΆ”κ°€ μ˜ˆμ •···

728x90
μ €μž‘μžν‘œμ‹œ (μƒˆμ°½μ—΄λ¦Ό)
'πŸ“š 자료ꡬ쑰 및 μ•Œκ³ λ¦¬μ¦˜/μ •λ ¬ 및 탐색' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [μ•Œκ³ λ¦¬μ¦˜] 이뢄탐색(Binary Search)μ΄λž€?
  • [μ•Œκ³ λ¦¬μ¦˜] κΈ°μˆ˜μ •λ ¬(Radix Sort)μ΄λž€?
  • [μ•Œκ³ λ¦¬μ¦˜] 퀡 μ •λ ¬(Quick Sort)μ΄λž€?
  • [μ•Œκ³ λ¦¬μ¦˜] 합병 μ •λ ¬(Merge Sort)μ΄λž€?
juno1105
juno1105
κ³΅λΆ€ν•˜λŠ” κ²Έ 포폴 λΈ”λ‘œκ·Έ
  • juno1105
    @juno1105
    juno1105
  • 전체
    였늘
    μ–΄μ œ
    • λΆ„λ₯˜ 전체보기 (89)
      • πŸ’¬ 자유 (3)
      • πŸ“– μ–΄ν•™ 곡뢀 (0)
      • πŸ“” 개발 ν”„λ‘œμ νŠΈ (4)
      • πŸ›  ν”„λ‘œκ·Έλž¨ 였λ₯˜ 해결법 (1)
      • πŸ“š 자료ꡬ쑰 및 μ•Œκ³ λ¦¬μ¦˜ (53)
        • μŠ€νƒ (4)
        • 큐 (4)
        • μ •λ ¬ 및 탐색 (17)
        • 리슀트 (5)
        • ν•΄μ‹œ (1)
        • 트리 (8)
        • νž™ (2)
        • κ·Έλž˜ν”„ (12)
      • πŸ’» 컴퓨터 ꡬ쑰 (0)
      • πŸš₯ λ…Όλ¦¬νšŒλ‘œ (8)
      • πŸ”° λ°±μ€€ (20)
        • 큐, μŠ€νƒ, 덱 (0)
        • DFS 와 BFS (3)
        • 그리디 (0)
        • λ™μ κ³„νšλ²• 1 (16)
        • λ™μ κ³„νšλ²• 2 (0)
        • μ΅œλ‹¨ 경둜 (0)
        • 트리 (0)
        • λ°±νŠΈλž˜ν‚Ή (0)
        • μœ λ‹ˆμ˜¨ νŒŒμΈλ“œ (0)
        • μ§‘ν•©κ³Ό λ§΅ (1)
      • 🌈 ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ (0)
      • πŸ“± μ•ˆλ“œλ‘œμ΄λ“œ μ•± (0)
  • λΈ”λ‘œκ·Έ 메뉴

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

  • 곡지사항

    • ✨자료ꡬ쑰 μ•Œκ³ λ¦¬μ¦˜ 컀리큘럼✨
  • 인기 κΈ€

  • νƒœκ·Έ

    μ΅œλ‹¨κ²½λ‘œ
    토읡 950점
    토읡 900μ λŒ€
    μ‹œκ°„λ³΅μž‘λ„
    μ •λ ¬ μ΅œμ„ μ˜ 경우
    토읡
    λΉ…μ˜€ν‘œκΈ°λ²•
    μ•Œκ³ λ¦¬μ¦˜
    토읡 910점
    μ •λ ¬ μ΅œμ•…μ˜ 경우
    토읡 900
    κ·Έλž˜ν”„νƒμƒ‰
    μ •λ ¬
    토읡 900점
    토읡 920점
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.3
juno1105
[μ•Œκ³ λ¦¬μ¦˜] μ •λ ¬ μ‹œκ°„λ³΅μž‘λ„ 비ꡐ
μƒλ‹¨μœΌλ‘œ

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