알고리즘의 성능을 나타내는 척도시간 복잡도(Time Complexity) : 알고리즘의 필요 연산 횟수공간 복잡도(Space Complexity) : 알고리즘의 필요 메모리시간복잡도와 공간복잡도는 Trade-off 관계메모리를 많이쓰면 연산횟수를 줄일 수 있다.어떤 문
어떤 문제 해결을 위한 절차나 방법입력출력명확성유한성: 정해진 시간 내에 동작해야함효율성: 시간복잡도, 공간복잡도가 효율성 있어야 함정확성시간 복잡도 : 낮을수록공간 복잡도 : 요즘은 메모리 관리는 시간에 비해 후순위
특정 값을 기준으로 데이터를 순서대로 배치하는 방법구현 쉬움, 느림 : 버블 정렬, 삽입 정렬, 선택 정렬구현 조금 더 어려움, 빠름 : 합병 정렬, 힙 정렬, 퀵 정렬, 트리 정렬하이브리드 정렬: 팀정렬, 블록 병합 정렬, 인트로 정렬기타정렬 알고리즘: 기수정렬, 카
배열을 계속 분할해서 길이가 1이 되도록 만들고, 인접한 부분끼리 정렬하면서 합병하는 방식시간 복잡도: $O(nlogn)$ms힙 자료구조 형태의 정렬방식기존 배열을 최대 힙으로 구조변경후 정렬진행시간 복잡도: $O(nlogn)$임의의 기준 값(pivot)을 정하고 그
낮은 자리 수부터 정렬하는 방식각 원소간의 비교 연산을 하지 않아 빠른 대신, 기수테이블을 위한 메모리 필요시간 복잡도: $O(dn)$d: 최대자릿수Queue를 활용해 구현숫자끼리 비교하지 않고 카운트를 세서 정렬하는 방식카운팅을 위한 메모리 필요시간 복잡도: $O(n