정렬 알고리즘 정리에 앞서 두 가지를 정리하였다. 안전 정렬 ( stable ) 불안전 정렬 ( not stable ) 같은 값(key)의 위치가 정렬 과정에서 바뀌지 않는 것 같은 값(key)의 위치가 정렬 과정에서 바뀌는 것 내부 정렬 ( Internal sorting ) 외부 정렬 ( External sorting )데이터의 크기가 주 기억장소 용량보다 적을 경우기억장소를 활용하여 정렬 데이터의 크기가 주 기억장소 용량보다 클 경우외부 기억장치를 사용하여 정렬 가장 효율적인 정렬 알고리즘이 무엇인가? 라는 질문에 대한 답은 상황에 따라 다르다이다.데이터의 크기, 양, 정렬상태 등 다양한 상황에 따라 최적의 정렬 알고리즘을 선택하기 위해 각각의 정렬 알고리즘들을 정리하였다. 1. Bubble Sort..
알고리즘이란?유한한 단계로 문제를 해결하는 로직이다. 컴퓨터가 어떤 일을 하는 수행의 단계적 방법이다. 효율적인 알고리즘메모리 공간을 최적화 하는 공간적 효율성, 수행 시간에 대해 최소의 시간을 고려하는 시간적 효율성 고려해야한다. 효율성이 즉 복잡도가 된다.이러한 부분은 아키텍처, 자료구조, HW 환경, SW 환경 등 다양한 요소를 고려해야한다. 복잡도의 점근적 표기 Big-Oh시간 복잡도를 입력 크기에 대한 함수로 표기할 수 있다. 이를 점근적 표기(Asymptotic Notation)라 한다.가장 큰 예로 Big-Oh 표기법이 있다. Big-Oh는 최대 이런 시간이 걸린다는 의미를 가진다.O(1) : 상수 시간 (Constant time)O(logn) : 로그(대수) 시간 (Logarithmic t..
알고리즘 풀이 시 가장 기본 방법이다. 완전 탐색, 브루트 포스라고도 불리며 이름 그대로 모든 경우를 다 탐색하는 방법이다. 기초 알고리즘 문제나 쉬운 시뮬레이션에서 완전 탐색을 통해 최적 값을 구하는 경우가 많다.그러나 시간이 최대로 돌아간다. 그러하여 난이도가 조금만 올라가도 시간 초과가 걸리는 경우가 대다수이다. 문제마다 다르지만 기본적으로 2중 for문을 통해 모든 경우를 다 체크하는 경우가 많다. 또는 재귀를 통해 모든 경우를 체크한다.2중 for문이면 시간복잡도는 O(N^2)이 되며 N이 100000정도가 되면 시간이 매우 오래 걸린다. 이때, 조건문을 통해 시간을 조금 줄일 수 있지만 좋은 방법은 아니다. 완전 탐색이 무조건 안 좋은 방법은 아니다. 문제에 따라 모든 탐색을 해야하는 경우가 ..
- Total
- Today
- Yesterday
- 게리맨더링 2
- 17143
- 2018 카카오 블라인드 채용
- DP
- 연구소 3
- string
- 알고리즘
- 백준
- 이차원 배열과 연산
- 팁
- boj
- 트렌드
- 17837
- STL
- 삼성
- hackerrank
- 입출력
- 17144
- SWEA
- scanf
- 17779
- DFS
- 시간 복잡도
- 2018 KAKAO BLIND RECRUITMENT
- 역량 테스트
- SW Expert Academy
- 17142
- 새로운 게임 2
- 17140
- 미세먼지 안녕!
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |