본문 바로가기

빅오표기법

Posts/Algorithm 간단하게 정리한 빅오표기법 알고리즘 알고리즘은 어떤 문제를 해결하기 위한 여러 동작들의 모임을 말합니다. 다시 말해 어떤 값을 입력받아 결과 값을 출력하는 절차를 의미합니다. 이러한 문제 해결에 필요한 조건은 다음과 같습니다. 입력 : 0개 이상의 입력(외부) 데이터가 존재해야 한다. 출력 : 1개 이상의 결과가 존재해야 하며 중복되지 않은 2개 이상의 결과가 있어야 한다. 유한성 : 모든 과정 및 명령은 유한한 범위에서 실행과 종료 해야한다. 효율성 : 모든 과정은 명백히 실행 가능한 범위에 있어야 한다. 명확성 : 수행과정은 명확해야 한다. 좋은 알고리즘이란? 좋은 알고리즘이란 처리 시간이 짧고, 사용 메모리가 적은 것을 말합니다. 우리는 두가지 조건을 각각 시간 복잡도, 공간 복잡도라 말합니다. 시간 복잡도는 알고리즘을 수행.. 2021. 10. 4. 18:09
Posts/Algorithm 알고리즘 시작전 알면 좋은 기초 개념 정리 빅오표기법 알고리즘이 얼마나 빠른지에 대한 표시방법입니다. 연산횟수를 기준으로 하기 때문에 속도를 시간단위로 세지 않으며 빅오표기법은 최악의 경우에 대한 기준으로 합니다. 실행 시간 선형시간 계산복잡도 이론상 에서 입력의 길이 n에 대해 특정 알고리즘의 실행시간이 선형의 특징을 가지는 것을 말합니다. 예를 들어 100의 길이를 가진 원소를 단순탐색으로 자료를 확인한다면 100번의 횟수를 확인해야 하고 이때 걸리는 시간을 선형시간이라 말합니다. 로그시간 정렬된 리스트를 이진탐색 사용시 원소의 log2N번의 횟수로 자료를 찾을 수 있습니다. log28 -> 3회, log232 -> 5회, log21024 -> 10회 이진탐색의 경우 로그시간으로 실행됩니다. 알고리즘 속도 알고리즘의 속도는 시간이 아니라 연산.. 2021. 10. 4. 17:47