1. Sort

2. Bubble Sort

3. Selection Sort

4. Insertion Sort

1. Sort(μ •λ ¬)

AλΆ€ν„° ZκΉŒμ§€ κΈ°μ€€μœΌλ‘œ μ •λ ¬ν•˜λ“ κ°€ 큰 μˆ˜μ—μ„œ μž‘μ€ 수 κΈ°μ€€μœΌλ‘œ μ •λ ¬ν•  μˆ˜λ„ 있음.

μ΄μ§„κ²€μƒ‰μ²˜λŸΌ λΉ λ₯Έ μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•˜λ €λ©΄ 일단 λ¨Όμ € λ°°μ—΄ 정렬을 ν•΄μ•Ό 함.

λ™μΌν•œ μ‹œκ°„λ³΅μž‘λ„λ₯Ό κ°–κ³  μžˆλ‹€ν•˜λ”λΌλ„ 맀우맀우 λ‹€λ₯΄κ²Œ λ‚˜νƒ€λ‚  수 있음.

μ‚½μž…κ³Ό 선택 정렬은 μž‘μ€ DB κΈ°μ€€μœΌλ‘œ ν›Œλ₯­ν•œ μ•Œκ³ λ¦¬μ¦˜μž„**(데이터가 컀지면 컀질수둝 μ’€ λŠλ €μ§€μ§€λ§Œ)**

2. Bubble Sort(버블 μ •λ ¬)

2-1) Bubble Sort

λ°°μ—΄μ—μ„œ 2개의 μ•„μ΄ν…œμ„ μ„ νƒν•˜κ³  λΉ„κ΅ν•΄μ„œ

μ™Όμͺ½μ΄ 였λ₯Έμͺ½λ³΄λ‹€ 크면 κ΅ν™˜(Swap)ν•  κ±°μž„.

였λ₯Έμͺ½μœΌλ‘œ μ΄λ™ν•΄μ„œ ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€λ₯Ό 반볡

2-1)-1. λΉ„νš¨μœ¨μ„±

이 접근법은 κ°„λ‹¨ν•˜μ§€λ§Œ 단 ν•˜λ‚˜μ˜ μš”μ†Œλ₯Ό μ •λ ¬ν•˜κΈ° μœ„ν•΄

λ„ˆλ¬΄ 많이 κ΅ν™˜ν•˜λŠ” λ‚­λΉ„κ°€ λ°œμƒν•  μˆ˜λ„ 있음.

버블 정렬은 μˆ˜ν–‰ ν•œ 번 λ§Œμ— λͺ¨λ“  μ›μ†Œκ°€ μ •λ ¬λ˜λŠ” 것을 보μž₯ν•˜μ§€ μ•ŠμŒ.

μ΅œμ•…μ˜ 상황인 경우 μ΅œλŒ€ν•œμ˜ 횟수λ₯Ό μ‹€ν–‰ν•΄μ€˜μ•Ό ν•˜λ―€λ‘œ κ²½μ œμ μ΄μ§€ μ•ŠμŒ.

2-2) Bubble Sort의 μ‹œκ°„ λ³΅μž‘λ„

λ°°μ—΄μ˜ N-1의 μ•„μ΄ν…œμ„ 비ꡐ해야함.

쒋은 μ•Œκ³ λ¦¬μ¦˜μ€ μ•„λ‹˜.

Untitled

2-3) Bubble Sort Image

Untitled

3. Selection Sort(선택 μ •λ ¬)

3-1) Selection Sort

보톡 배열이 μ •λ ¬λ˜μ–΄ 있으면 μ •λ ¬λ˜μ§€ μ•Šμ€ 배열보닀 더 μ‰½κ²Œ 탐색할 수 있음.

정렬을 μœ„ν•œ μ•Œκ³ λ¦¬μ¦˜ 쀑 선택정렬을 λ°°μ—΄ μ•ˆμ˜ 자료 쀑 κ°€μž₯ μž‘μ€ 수λ₯Ό μ°Ύμ•„

첫 번째 μœ„μΉ˜μ˜ μˆ˜μ™€ κ΅ν™˜ν•΄μ£ΌλŠ” λ°©μ‹μ˜ μ •λ ¬μž„.

μ •λ ¬λ˜μ§€ μ•Šμ€ λ°°μ—΄μ—μ„œ κ°€μž₯ μž‘μ€ 숫자λ₯Ό 찾음.

즉 μ΄λŠ” N-1 비ꡐλ₯Ό ν•˜λŠ” κ±°μž„.

버블 μ •λ ¬κ³Ό κ°™μ§€λ§Œ λ‹€λ₯΄κ²Œ N번의 μŠ€μ™‘μ„ ν•˜μ§€ μ•ŠμŒ.

3-1)-1. νš¨μœ¨μ„±

선택 정렬은 κ΅ν™˜ 횟수λ₯Ό μ΅œμ†Œν™”ν•˜λŠ” ν•  수 있음.

3-1)-2. λΉ„νš¨μœ¨μ„±

각 자료λ₯Ό λΉ„κ΅ν•˜λŠ” νšŸμˆ˜λŠ” 증가함.

3-2) Selection Sort Image

Untitled

β†’ μ„ νƒμ •λ ¬μ—μ„œλŠ” 맀번 싸이클 λ§ˆλ‹€ 1번의 μŠ€μ™‘λ§Œ ν•˜λ©΄ 됨.

β†’ 선택정렬이 버블정렬보닀 2λ°° 더 λΉ λ₯Ό μˆ˜λ„ μžˆμŒμ—λ„ μ„ νƒμ •λ ¬μ˜ μ‹œκ°„λ³΅μž‘λ„ μ—­μ‹œ O[n^2]μž„.

4. Insertion Sort(μ‚½μž… μ •λ ¬)

4-1) Insertion Sort

μ‚½μž…μ •λ ¬μ€ 선택정렬보닀 빠름.

μ™œλƒλ©΄ μ‚½μž…μ •λ ¬μ€ ν•„μš”ν•œ μ•„μ΄ν…œλ§Œ μŠ€μΊ”μ„ 함.

4-2) Insertion Sort의 μ‹œκ°„ λ³΅μž‘λ„

Untitled

β†’ μ‚½μž…μ •λ ¬μ΄ 선택정렬보닀 빨라도 버블정렬보닀 빨라도

β†’ μ‚½μž…μ •λ ¬μ˜ μ‹œκ°„λ³΅μž‘λ„μ™€ λ™μΌν•˜κ²Œ O[n^2]μž„.