본문 바로가기
프로그래밍/알고리즘(Algorithm)

[Algorithm] 알고리즘 개념과 종류

by virusuk 2023. 3. 6.
반응형

알고리즘의 역사 및 개념과 종류에 대해 알아보겠습니다.

 

알고리즘(Algorithm)? 

알고리즘은 9세기 페르시아의 수학자 '아부 압둘라 무하마드 이븐 무사 알콰리즈미(Abu Abdullah Muhammad ibn Musa al-khwarizmi)'의 이름을 라틴어화한 알고리스무스(Algorismus)에서 유래한 표현으로, 어떠한 문제를 해결하기 위해 일련의 명령이나 반복되는 절차입니다. 즉, 문제 풀이에 대한 필요한 계산절차 또는 처리과정의 단계적인 순서를 말하는 것입니다.

 

정렬 (Sorting)

  • 버블 정렬
  • 삽입 정렬
  • 퀵 정렬

탐색 (Search)

  • 순차 탐색
  • 이진탐색
  • 이진 탐색 트리
  • 레드 블랙 트리

그래프

  • 깊이 우선 탐색 (DFS)
  • 너비 우선 탐색 (BFS)
  • 위상 정렬
  • 최소 신장 트리
    • 프림 알고리즘
    • 크루스칼 알고리즘
  • 최단 경로 탐색
    • 다익스트라(Dijkstra) 알고리즘
    • 플로이드-워셜(Floyd-Warshall) 알고리즘
  • 문자열 검색
    • 카프-라빈 아고리즘
    • KMP(Knuth Morris Partt) 알고리즘
    • 보이어-무어(Boyer-Moore) 알고리즘

문제 해결 전략(방식)

  • 분할 정복(Divide and conquer)
  • 동적 계획법(Dynamic Programming)
  • 탐욕(greedy) 알고리즘
  • 백트래킹 기법

 

 

주요 알고리즘의 종류를 알아보았습니다.

특히, 코딩 테스트 기출문제에 많이 나오니 숙지해두시면 많은 도움이 될 것 같습니다.

반응형