일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- view 이동
- reentrancy
- pow
- ethereum
- .dsym
- dsYM
- Crash
- 백준
- PBFT
- Blockchain
- POS
- 알고리즘
- ios
- Xcode
- 암호화폐
- 재진입공격
- 프로그래머스
- DEFI
- Algorithm
- DPOS
- Mining
- 비트코인
- viewcontroller
- 블록체인
- 블록체인 기술
- solidity
- External Call
- 분산원장
- Report
- 이더리움
Archives
- Today
- Total
개발하기좋은날
Bubble Sort 본문
반응형
- 버블 정렬은 요소들이 마치 거품이 일어나듯이 연쇄적으로 자기 자리를 찾아간다고 해서 버블 정렬이란 이름이 붙여졌다
- 아래 코드는 기존의 버블정렬의 문제점에서 더이상 정렬할 부분이 없는 경우 break문을 사용하여 시간 복잡도를 일부 줄인 코드이다.
const bubbleSort = function (arr)
{
var length = arr.length;
var i, j, temp;
var flag = false;
for (i = 0; i < length - 1; i++)
{
if(flag ==true){
console.log("break")
break;
}
var chargeCount = 0;
for (j = 0; j < length - 1 - i; j++)
{
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}else
chargeCount++;
if(chargeCount == (length - 1 - i)){
flag=true;
}
}
}
return arr;
};
let output = bubbleSort([5,2, 1, 3, 4,10,11,12,13,14,15,16,17,18,19]); // 길이는7 검사 횟수 :6 , 5번
console.log(output); // --> [1, 2, 3]
반응형
'Algorithm' 카테고리의 다른 글
binarySearch (0) | 2022.06.07 |
---|---|
largestProductOfThree (0) | 2022.06.02 |
treeDFS (0) | 2022.06.02 |
isSubsetOf (0) | 2022.05.24 |
fibonacci (0) | 2022.05.23 |
Comments