| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 
													Tags
													
											
												
												- External Call
- 알고리즘
- Xcode
- DEFI
- 비트코인
- solidity
- reentrancy
- Report
- 프로그래머스
- viewcontroller
- 분산원장
- ios
- POS
- 블록체인 기술
- 암호화폐
- DPOS
- Blockchain
- Mining
- 백준
- pow
- 이더리움
- ethereum
- .dsym
- 재진입공격
- 블록체인
- PBFT
- dsYM
- Algorithm
- Crash
- view 이동
													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 (1) | 2022.06.02 | 
| treeDFS (0) | 2022.06.02 | 
| isSubsetOf (1) | 2022.05.24 | 
| fibonacci (0) | 2022.05.23 | 
			  Comments
			
		
	
               
           
					
					
					
					
					
					
				