알고리즘이란?

WOOK JONG KIM·2023년 3월 15일
0
post-thumbnail
post-custom-banner

알고리즘

어떤 문제 해결을 위한 절차나 방법
-> 각각의 알고리즘엔 flow가 어느정도 정형화 되어있음

조건

  • 입력
  • 출력
  • 명확성
  • 유한성 : 정해진 시간 내
  • 효율성 : 시간복잡도 및 공간복잡도의 효율성

좋은 알고리즘 척도 : 정확성, 시 공간 복잡도(시간 복잡도가 좀더 중요)

종류

  • 정렬(오름 + 내림차순)
  • 이진 탐색(정렬된 상태에서 빠르게 탐색) / 투 포인터(찾고자 하는 시작점을 두군데에 포인팅하고 찾아나감)
  • 그리디 알고리즘(어느 지점이 가장 최적점인지 찾고자 할때, 다 검사하지 않고)
  • 분할 정복(큰 문제를 나눠서 품)/ 다이나믹 프로그래밍(계산값이 다시 쓰일것을 대비해서 메모리에 계산값을 저장하고 재활용 -> 연산량 줄여줌)
  • 백 트래킹(특정 조건에 의해 그 밑의 경우는 탐색할 필요가 없을때 다시 돌아가서 다른 쪽을 검사)
    -> dfs랑 자주 섞임
  • 최단 경로
  • 최소 신장 트리 (가중치 값이 최소가 되게끔)
profile
Journey for Backend Developer
post-custom-banner

0개의 댓글