정렬 (Sort) - 버블정렬

2024. 7. 9. 23:53·Algorithm
목차
  1. 버블 정렬이란

버블 정렬이란

  • 버블 정렬(Bubble Sort)은 간단한 정렬 알고리즘 중 하나로, 인접한 두 원소를 비교하여 필요한 경우 서로 교환하는 방식으로 배열을 정렬함.
  • 이 과정이 배열의 마지막 원소까지 반복되며, 한 사이클이 끝나면 가장 큰 원소가 배열의 끝으로 이동하게 됨. 이러한 사이클을 배열이 완전히 정렬될 때까지 반복.

버블 정렬에 대한 요약

장점 1. 구현이 매우 쉽다. 
2. 데이터가 거의 정렬되어 있는 경우 효율적이다.
단점 1. 효율이 낮다.
2. 큰 데이터셋에 비효율적이다.
특징 1. 인접한 원소끼리 비교한다.
2. 안정 정렬 (Stable Sort)이다.
시간복잡도 - 최선: O(n)
- 평균: O(n^2)
- 최악: O(n^2)
공간복잡도 O(1) (In-place 정렬 알고리즘)

 

버블정렬 - 자바스크립트 예시

function bubbleSort(arr) {
    let n = arr.length;
    let swapped;
    do {
        swapped = false;
        for (let i = 1; i < n; i++) {
            if (arr[i - 1] > arr[i]) {
                let temp = arr[i - 1];
                arr[i - 1] = arr[i];
                arr[i] = temp;
                swapped = true;
            }
        }
        n--;
    } while (swapped);
    return arr;
}

// 예시
let array = [64, 34, 25, 12, 22, 11, 90];
bubbleSort(array)

'Algorithm' 카테고리의 다른 글

정렬 (Sort) - 병합정렬  (0) 2024.07.16
정렬 (Sort) - 삽입정렬  (0) 2024.07.13
정렬 (Sort) - 선택정렬  (0) 2024.07.12
재귀 (Recursion) - 하노이 탑  (0) 2024.07.08
재귀 (Recursion)  (0) 2024.07.06
  1. 버블 정렬이란
'Algorithm' 카테고리의 다른 글
  • 정렬 (Sort) - 삽입정렬
  • 정렬 (Sort) - 선택정렬
  • 재귀 (Recursion) - 하노이 탑
  • 재귀 (Recursion)
예슬e
예슬e
예슬e
예슬e개발로그
예슬e
전체
오늘
어제
  • 분류 전체보기 (27)
    • 💙 At work in 2024 (0)
    • FrontEnd (7)
      • React (7)
      • Package Manager (0)
      • Build System (0)
      • Transpiler & Bundler (0)
      • Architecture (0)
      • Test (0)
    • BackEnd (2)
    • CS (8)
      • Data Structure (7)
      • Network (1)
    • Algorithm (10)
    • Project (0)
    • Blog (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

리액트파이버
jsx
백엔드
리액트
useEffect
하노이의탑
리렌더링
알고리즘
리액트 파이버
메모이제이션
타뷸레이션
자료구조
useState
자바스크립트배열
프론트엔드
재귀
api만들기
useCallback
자바스크립트
리액트딥다이브

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.3
예슬e
정렬 (Sort) - 버블정렬
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.