본문 바로가기
  • 개발 / 공부 / 일상
Javascript

(Javascript) 알고리즘

by JJeongHyun 2023. 1. 16.
반응형

알고리즘

  • 어떤 문제를 해결하기 위한 일련의 절차나 방법을 공식화한 형태로 표현한 것
  • 특정 작업을 수행하기 위한 프로세스 또는 일련의 단계. 프로그래밍과 관련된 대부분의 것들은 항상 일종의 알고리즘을 포함
  • 문제 해결을 위한 기초적인 과정
  • 제한된 공간과 시간 안에서 데이터를 어떻게 처리할 것인지를 정해놓은 로직(주어진 input으로 정의된 계산을 수행한 뒤 output을 내는 것)
  • 조건
    • 입력, 출력, 명확성, 유한성, 효율성
      1. 입력 : 하나 이상의 데이터를 입력받는다. (매개변수)
      2. 출력 : 2개 이상의 다른 결과가 있어야한다. (return)
      3. 명확성 : 과정이 명확하고 모호하지 않은 명령어로 되어야 한다.
      4. 유한성(종결성) : 알고리즘이 끝이 나야 한다. 무한대로 실행된다면 유한성에 성립하지 않아 알고리즘이 아니다
      5. 효율성 : 실행이 가능해야 한다. 검증이 된다 라고 말할 수 있다
  • 시간복잡도(big O 표기법) : 알고리즘이 끝날 때까지의 시간을 표기
    • O(1) : 한번 실행된다.
    • O(log n) : n로그 만큼 실행된다.
    • O(n) : n번 알고리즘이 실행된다
    • O(nlog n) : n * log n 만큼 실행된다
    • O(n^2) : n의 제곱만큼 실행된다
    • O(2^n) : 2의 n 제곱만큼 실행된다
    • O(n!) : n!(n 팩토리얼) 만큼 실행된다

'Javascript' 카테고리의 다른 글

(Javascript) InsertSort  (0) 2023.01.16
(Javascript) bubbleSort  (0) 2023.01.16
(Javascript) [자료구조] Tree(BinarySearch)  (0) 2023.01.16
(Javascript) [자료구조] List(3)  (0) 2023.01.16
(Javascript) [자료구조] List(2)  (0) 2023.01.16