Skip to content

Commit 606235d

Browse files
authored
Merge branch 'master' into ko_translate
2 parents 31d0031 + 8e9578f commit 606235d

File tree

2 files changed

+107
-3
lines changed

2 files changed

+107
-3
lines changed

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ Popular algorithms explained in simple language with examples and links to their
1111

1212
- [Brazilian Portuguese](./pt-br)
1313
- [English](./en)
14-
- [Spanish](./es)
15-
- [Nepali](./ne)
14+
- [French](./fr)
1615
- [Hebrew](./he)
1716
- [Indonesian](./id)
1817
- [Korean](./ko)
19-
- [French](./fr)
18+
- [Nepali](./ne)
19+
- [Spanish](./es)
2020

2121
To add a new language, create a new folder using 2 character `ISO 639-1` code of that language. For example use `hi` for `Hindi` explanations.

ko/정렬/버블정렬.md

+104
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# 버블 정렬
2+
3+
#### 문제
4+
5+
원소 n개로 이루어진 정렬되지 않은 배열이 주어졌을 때, 배열을 정렬하는 함수를 작성하라
6+
7+
#### 접근방식
8+
9+
- 배열의 첫 번째 원소를 선택한다.
10+
- 다음 원소와 비교한다.
11+
- 다음 원소보다 크다면 교환한다.
12+
- 아니라면 아무것도 하지 않는다.
13+
- 배열의 모든 인덱스에 이 작업을 진행한다.
14+
- 위의 과정을 n번 반복한다.
15+
16+
#### 시간 복잡도
17+
18+
`O(n^2)` 최악의 경우
19+
20+
`O(n)` 최선의 경우
21+
22+
`O(n^2)` 평균 복잡도
23+
24+
#### 공간 복잡도
25+
26+
`O(1)` 최악의 경우
27+
28+
#### 만든 사람
29+
30+
- “Bubble Sort”라는 용어는 1962년 Iverson, K에 의해 처음 사용되었다.
31+
32+
#### 예시
33+
34+
```
35+
배열 = {10, 80, 40, 30}
36+
인덱스들: 0 1 2 3
37+
38+
1. 인덱스 = 0, 숫자 = 10
39+
2. 10 < 80, 아무것도 하지 않고 다음 단계로 넘어간다.
40+
41+
3. 인덱스 = 1, 숫자 = 80
42+
4. 80 > 40, 80과 40을 교환한다.
43+
5. 현재 배열은 {10, 40, 80, 30}
44+
45+
6. 인덱스 = 2, 숫자 = 80
46+
7. 80 > 30, 80과 30을 교환한다.
47+
8. 현재 배열은 {10, 40, 30, 80}
48+
49+
위 단계를 다시 반복한다.
50+
51+
배열 = {10, 40, 30, 80}
52+
인덱스들: 0 1 2 3
53+
54+
1. 인덱스 = 0, 숫자 = 10
55+
2. 10 < 40, 아무것도 하지 않고 다음 단계로 넘어간다.
56+
57+
3. 인덱스 = 1, 숫자 = 40
58+
4. 40 > 30, 40과 30을 교환한다.
59+
5. 현재 배열은 {10, 30, 40, 80}
60+
61+
6. 인덱스 = 2, 숫자 = 40
62+
7. 40 < 80, 아무것도 하지 않는다.
63+
8. 현재 배열은 {10, 30, 40, 80}
64+
65+
위 단계를 다시 반복한다.
66+
67+
배열 = {10, 30, 40, 80}
68+
인덱스들: 0 1 2 3
69+
70+
1. 인덱스 = 0, 숫자 = 10
71+
2. 10 < 30, 아무것도 하지 않고 다음 단계로 넘어간다.
72+
73+
3. 인덱스 = 1, 숫자 = 30
74+
4. 30 < 40, 아무것도 하지 않고 다음 단계로 넘어간다.
75+
76+
5. 인덱스 = 2, 숫자 = 40
77+
6. 40 < 80, 아무것도 하지 않는다.
78+
79+
위 단계에서 교환이 없기 때문에 배열이 정렬되었음을 의미하고, 여기서 멈출 수 있다.
80+
```
81+
82+
#### 코드 구현
83+
84+
- [자바](https://github.com/TheAlgorithms/Java/blob/master/Sorts/BubbleSort.java)
85+
- [C++](https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/bubble_sort.cpp)
86+
- [파이썬](https://github.com/TheAlgorithms/Python/blob/master/sorts/bubble_sort.py)
87+
- [C#](https://github.com/TheAlgorithms/C-Sharp/blob/master/Algorithms/Sorters/Comparison/BubbleSorter.cs)
88+
- [](https://github.com/TheAlgorithms/Go/blob/master/sorts/bubblesort.go)
89+
- [루비](https://github.com/TheAlgorithms/Ruby/blob/master/sorting/bubble_sort.rb)
90+
- [C](https://github.com/TheAlgorithms/C/blob/master/sorting/bubble_sort.c)
91+
- [스칼라](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Sort/BubbleSort.scala)
92+
- [자바스크립트](https://github.com/TheAlgorithms/Javascript/blob/master/Sorts/BubbleSort.js)
93+
94+
#### 영상 설명
95+
96+
[버블정렬 알고리즘에 대한 영상 설명](https://www.youtube.com/watch?v=Jdtq5uKz-w4)
97+
98+
#### 그 외
99+
100+
버블 정렬은 싱킹 정렬이라고도 한다.
101+
102+
#### 애니메이션 설명
103+
104+
- [Tute Board](https://boardhub.github.io/tute/?wd=bubbleSortAlgo2)

0 commit comments

Comments
 (0)