일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 자소서 빨리 쓰는 법
- 백준 18428
- 이더리움 #ethereum
- 기업 조사 빨리 하는 법
- mac hive 3
- hive beeline 실행
- Safe mode is ON
- hive beeline 설정
- 자소서 시간 줄이기
- is not allowed to impersonate hive (state=08S01
- mac hadoop 3
- Resources are low on NN
- hadoop safe mode
- hive beeline
- Failed to connect to localhost:10000
- 카카오 자물쇠와 열쇠
- 도커 교과서
- 이더리움
- mac hadoop 설치
- code=0)
- 카카오 2020 코딩테스트
- mac hive
- hive beeline 에러
- mac hadoop
- 카카오 2020 코테
- mac hadoop 설정
- Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000
- 자소서 빨리
- 자소서 너무 오래 걸림
- hadoop safe mode leave
Archives
- Today
- Total
A seeker after truth
단순하게 문제풀기 - 버블정렬, 순차탐색 본문
*본문은 <컴퓨팅 사고력 향상을 위한 문제해결과 알고리즘>(성균관대학교 출판부, 2017)을 참고하여 작성하였습니다.
무식하게 다 해보는 것을 의미함. 일반적으로 알고리즘은 문제 해결을 위한 전략을 제시하는데, 하드웨어 발달로 인해 컴퓨터의 빠른 계산 능력이 지원된다는 것을 감안하면 가능한 경우의 수를 일일이 계산하여 답을 찾는 것도 하나의 전략이다. 이를 완전 탐색(exhaustie search) 혹은 Brute Force라 함.
주어진 문제를 완전 탐색으로 해결하는 과정을 이해하기 위해선 재귀함수 개념을 적용해야 한다. 재귀함수는 주어진 문제를 작은 문제로 쪼개어 해결한 뒤 원래 문제를 해결하는 방식이다.
1. 버블 정렬(bubble sort)
def bubbleSort(dataList):
for checkrange in range(len(dataList)-1,0,-1):
for i in range(checkrange):
if dataList[i] > dataList[i+1]:
dataList[i], dataList[i+1] = dataList[i+1], dataList[i]
print("{}. {}번쨰 위치의 정렬 값은 {}".format(len(dataList)-checkrange, checkrange+1, dataList[checkrange]),dataList)
dataList = [77,42,35,12,101,5]
bubbleSort(dataList)
print(dataList)
2. 순차 탐색
'Algorithm > 이론' 카테고리의 다른 글
알고리즘 분석 방법 (0) | 2019.10.31 |
---|---|
재귀함수를 쓰는 이유(only link) (0) | 2019.10.17 |
그리디 알고리즘 - 최단 경로, 배낭문제 (0) | 2019.10.11 |
[python] 동적 계획법과 분할정복 - 피보나치, 이진 탐색, 빠른 정렬, 병합 정렬 (업뎃중) (0) | 2019.10.10 |
자료 정렬 알고리즘 - 선택, 삽입, 합병 정렬 (0) | 2019.10.10 |