Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 힙한취미
- 짝수의평균구하기
- 코드최적화
- 스파르타코딩클럽
- 스파르타코딩
- HTML
- 코딩테스트
- 자바스크립트
- 힙한취미코딩
- 누구나자료구조와알고리즘
- 리액트
- 자료구조책
- 개발도서
- 정렬알고리즘
- 이벤트맛집
- 코딩
- 알고리즘책추천
- 알고리즘도서
- 자료구조
- 개발도서추천
- 평균온도구하기
- 빅오표기법
- 스파르톤
- 알고리즘문제
- 웹개발종합반
- 개발책추천
- 알고리즘
- 알고리즘책
- 타입스크립트
- CSS
Archives
- Today
- Total
Run with coding
누구나 자료 구조와 알고리즘 | 빅 오 표기법 | 빅 오로 코드 속도 올리기 본문
✔️버블 정렬 : 매우 기본적인 정렬 알고리즘
- 버블 정렬 방법
- 배열의 첫 번째 원소부터 다음 원소와 비교하며 오른쪽 값이 더 크면 두 항목을 교환
- 교환이 일어나지 않는 패스스루가 생길 때까지 반복
- 버블 : 각 패스스루마다 정렬되지 않는 값 중 가장 큰 값
- 버블 정렬 실제로 해보기
- 버블 정렬의 효율성
- 버블 정렬 알고리즘 = 비교 + 교환
- ex) 원소가 5개라면.. ⇒ 총 20단계
- 비교 : 4 + 3 + 2 + 1 = 10번
- 교환 : 4 + 3 + 2 + 1 = 10번
- ex) 원소가 10개라면.. ⇒ 총 90단계
- 비교 : 9 + 8 + 7 + … + 1 = 45번
- 교환 : 9 + 8 + 7 + … + 1 = 45번
- ex) 원소가 20개라면.. ⇒ 총 380단계
- 비교 : 20 + 19 + 18 + … + 1 = 190번
- 교환 : 20 + 19 + 18 + … + 1 = 190번
- 원소 수가 증가할수록 기하급수적으로 늘어남..!
- 버블 정렬의 장점
- in place 알고리즘으로 메모리가 절약됨
in place란?
👉🏻 자료를 정렬할 때 추가적인 메모리 공간이 필요한 것이 아닌 데이터가 저장된 그 공간 내에서 정렬을 한다는 뜻
- in place 알고리즘으로 메모리가 절약됨
- 버블 정렬의 단점
- 자료의 개수가 많아질수록 성능이 매우 떨어짐
- 배열의 원소가 N개일 때 비교•교환의 최악의 단계 수 = $n(n-1)$ ⇒ 대략 O(n^2) (이차 시간이라고 부름) 소요됨
- 이차 문제
- 선형 해결법
'코딩테스트 | 자료구조 | 알고리즘' 카테고리의 다른 글
누구나 자료 구조와 알고리즘 | 일상적인 코드 속 빅 오 | Javascript로 짝수의 평균 구하기 (0) | 2023.06.15 |
---|---|
누구나 자료 구조와 알고리즘 | 긍정적인 시나리오 최적화 | 삽입 정렬 알고리즘 (0) | 2023.06.14 |
누구나 자료 구조와 알고리즘 | 빅 오를 사용하거나 사용하지 않는 코드 최적화 | 선택 정렬 (0) | 2023.05.20 |
누구나 자료 구조와 알고리즘 | 빅 오 표기법 (0) | 2023.05.18 |
[코딩테스트/알고리즘]직사각형 나머지 한 점 구하기(C언어/JavaScript)-프로그래머스 (0) | 2022.05.02 |