티스토리 뷰
반응형
반드시 알아야 하는 알고리즘 top 8
재귀 알고리즘
이진 탐색
순차 탐색
버블 정렬
삽입 정렬
탐욕 알고리즘
최단거리 알고리즘
몬테 카를로 알고리즘
버블 정렬
버블 정렬은 두 인접한 값들을 검사하여 정렬하는 방법입니다. 시간이 매우 오래 걸리는 알고리즘 중 하나지만 코드가 단순하기 때문에 자주 사용되는 방법입니다. 값들이 정렬되는 과정이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름 입니다. 다음 동영상을 통해 세부 과정을 살펴보겠습니다.
동영상 서비스가 종료되어 해당 콘텐츠를 재생할 수 없습니다.
버블 정렬 코드 01 : Python
a = [3,2,4,1]for i in range(len(a)):for j in range(len(a)-1-i):if a[j] > a[j+1]:a[j], a[j+1] = a[j+1], a[j]
버블 정렬을 간단히 구현한 코드 입니다. for loop 문 두개로 간단하게 구현할 수 있다는 점이 장점입니다만 모든 수들을 계산해야 하기 때문에 오래 걸리는 부분이 단점 입니다.
i = 0 j = 0 a = [2, 3, 4, 1]i = 0 j = 1 a = [2, 3, 4, 1]i = 0 j = 2 a = [2, 3, 1, 4]i = 1 j = 0 a = [2, 3, 1, 4]i = 1 j = 1 a = [2, 1, 3, 4]i = 2 j = 0 a = [1, 2, 3, 4][1, 2, 3, 4]
위의 코드는 다음처럼 진행 됩니다. i = 0 일 때 가장 마지막 숫자가 정렬되고, i = 1 일 때 뒤에서 2번째 숫자가 정렬되는 형식으로 for loop 문이 한 번씩 진행될 때마다 하나씩 정렬되는 알고리즘 입니다.
버블 정렬 코드 02 : Python
두 번째로 구현한 코드는 재귀알고리즘을 사용한 버블 정렬 코드 입니다.
def bubble_sort(n = 0, i = 0):global aif i == len(a)-1:returnelse:if n < len(a) -1:if a[n] > a[n+1]:a[n],a[n+1] = a[n+1],a[n]bubble_sort(n+1,i)else:bubble_sort(0,i+1)
위의 코드를 단순히 재귀함수로 변환한 것이기 때문에 조건들이나 해당조건 시 실행하는 것들이 자세히 살펴보면 다를 바 없습니다.
부족한 블로그에 방문해 주셔서 감사합니다.
잘못된 부분이나 질문이 있으시면
댓글로 말씀해주세요.
금방 확인하고 피드백 드리겠습니다.
좋은 하루 되세요. ^^
반응형
'#Archive' 카테고리의 다른 글
| 반드시 알아야하는 알고리즘 top 8 - 6. 탐욕 알고리즘, 그리디 알고리즘 (3) | 2017.12.29 |
|---|---|
| 반드시 알아야하는 알고리즘 top 8 - 5. 삽입 정렬 (0) | 2017.12.28 |
| 2018 카카오 신입 공채 1차 블라인드 코딩테스트 문제 03 (2) | 2017.12.27 |
| 반드시 알아야하는 알고리즘 top 8 - 3. 순차 탐색 (0) | 2017.12.27 |
| [SQL] 8. 더 큰 구조 만들어 나가기 - JOIN (0) | 2017.12.26 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 영월캠핑
- 커플여행
- 캠핑초보
- 여름휴가추천
- 영월여행
- 캠핑장추천
- python
- 글램핑
- 가평캠핑
- 반려견캠핑
- 서울근교캠핑
- 가족여행
- 자연힐링
- SeoulTravel
- 알고리즘
- 여름휴가
- Oracle
- 카카오
- bukhansannationalpark
- 백준
- 강원도여행
- 계곡캠핑
- 머신러닝
- Koreancuisine
- sql
- 여름캠핑
- 강원도캠핑
- 파이썬
- 가족캠핑
- 가평여행
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함