Skip to content

Commit

Permalink
#7 22.05.10 > 삽입정렬
Browse files Browse the repository at this point in the history
  • Loading branch information
beurmuz committed May 10, 2022
1 parent de57b26 commit cb1f70c
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 7 deletions.
22 changes: 17 additions & 5 deletions src/inf/sort,greedy/4.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,27 @@

function solution(arr){
let answer=arr;
for(let j = 0; j < answer.length; j++) {
for(let i = 0; i < answer.length; i++) {
if(answer[i] > answer[i+1]) {
[answer[i], answer[i+1]] = [answer[i+1], answer[i]];
for(let i = 0; i < arr.length; i++) {
let tmp = arr[i], j;
for(j = i-1; j >= 0; j--) {
if(arr[j] > tmp) {
arr[j+1] = arr[j];
} else {
break;
}
}
arr[j+1] = tmp;
console.log(answer);
}
return answer;
}

let arr=[11, 7, 5, 6, 10, 9];
console.log(solution(arr));
console.log(solution(arr));

/*
- i는 1부터 arr.length까지 반복
- tmp 배열에 arr[i]를 임시로 저장해놓고, j는 i-1부터 0까지 반복함
- j는 i의 앞을 도는 것
*/

2 changes: 1 addition & 1 deletion src/inf/sort,greedy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
|1|O|O|
|2|O|추후에 다시풀기|
|3|O|다시 풀기|
|4|O||
|4|X|와 어려움|
|5|||
|6|||
|7|X|예정|
Expand Down
19 changes: 18 additions & 1 deletion theory/sort.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,24 @@
- n-1, n-2, n-3, ..., 2, 1번 = n(n-1)/2
- T(n) = O(n^2)

## 3. 삽입 정렬
## 3. 삽입 정렬 (Insertion sort)
- 새로운 카드를 정렬된 카드 사이의 올바른 위치를 찾아 삽입
- 새로 삽입될 카드의 수만큼 반복하면 됨

### 특징
- 장점
- 안정적인 정렬방법
- 알고리즘이 매우 단순하므로 레코드가 적은 경우 유리함
- 레코드가 대부분 정렬되어 있는 경우 매우 효율적
- 단점
- 비교적 많은 레코드들의 이동을 포함함
- 레코드 수가 많고 레코드가 큰 경우 적합하지않음

### 시간복잡도
- 최선
- O(n)
- 최악
- O(n^2)

## 4. 셸 정렬

Expand Down

0 comments on commit cb1f70c

Please sign in to comment.