algorithms/알고리즘이란?

2019. 12. 30. 13:50·Development/Algorithms
반응형

                                                                                                                                                         

                                                                                                                                                                                                                   

                                                                                                                                                         

                                                                                                                                                                                                              

                                                                                                                                                                                                                   

알고리즘이란, 컴퓨터가 어떤 문제를 해결하기 위한 자세한 방법이다. 따라서 컴퓨터가 이해할 수 있는 방식으로 정리되어 있는 해결 방법으로 기술되어야 한다.

같은 문제를 해결하기 위해서도 다양한 알고리즘이 존재할 수 있다.

그렇다면 다양한 알고리즘 중에 좋은 알고리즘이란 무엇일까? 좋은 알고리즘은 두 가지 조건을 충족시켜야 한다.

  1. 문제를 해결하는 것
  2. 문제를 더 잘 해결하는 것

알고리즘 프로그래밍 언어를 이용하여 구현된다. 그래서 프로그래밍과 알고리즘은 뗄래야 뗄 수 없는 관계다.

 

유능한 개발자들의 대부분은 알고리즘적 사고력을 갖추고 있고, 대표적인 알고리즘 정도는 꿰고 있다.

개발자가 되면 이런 식의 대화가 오간다:

"여기서는 BFS 알고리즘이 적합하다."

"Divide and Conquer 방식으로 접근해보자."

따라서 알고리즘에 대한 지식 없이는 개발자와 원활한 소통이 어렵다.

 

Google, Facebook, Amazon 등 대기업들을 포함한 대부분의 회사에서는 개발자를 뽑을 때 알고리즘 테스트를 진행하는 이유다. 그중에서 대기업들은 특히 알고리즘을 거의 가장 중요한 평가 기준으로 본다.

'실무적인 경험이 부족하더라도 알고리즘적 사고력이 검증된 지원자라면, 나머지는 충분히 가르칠 수 있다'라고 판단을 하는 것이다. 반대로 알고리즘을 잘 모르는 개발자라면 좋은 대우를 받기 어렵다는 뜻이기도 하다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'Development > Algorithms' 카테고리의 다른 글

algorithms/배열(array)  (0) 2019.12.30
algorithms/자료구조 & 알고리즘에 대하여  (0) 2019.12.30
알고리즘 공부법  (0) 2019.12.26
[Algorithms] 해쉬 테이블(Hash Table)  (0) 2017.04.21
[Algorithms] 이진트리(Binary tree)  (0) 2017.04.19
'Development/Algorithms' 카테고리의 다른 글
  • algorithms/배열(array)
  • algorithms/자료구조 & 알고리즘에 대하여
  • 알고리즘 공부법
  • [Algorithms] 해쉬 테이블(Hash Table)
doh.k
doh.k
  • doh.k
    DOHk's DevLog
    doh.k
  • 전체
    오늘
    어제
    • 분류 전체보기
      • DailyLog
      • TIL
      • Project
        • Development
        • Artificial Intelligence
      • Development
        • Database
        • WEB
        • CSE
        • javascript
        • Algorithms
        • Linux
        • Network
        • Python
        • 라즈베리파이
        • Apple
      • Research
        • 논문
        • 금융,블록체인
        • Time-Series
        • 수학
        • 미적분학
        • 화학
      • Artificial Intelligence
        • Machine Learning
        • Deep Learning
        • TensorFlow
        • ReinforcementLearning
      • 기타
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바스크립트
    Spring
    아이패드
    기계학습
    맥북
    Python
    스프링
    파이썬
    가상화폐
    Linux
    리눅스
    데이터
    네트워크
    gradient
    블록체인
    Network
    머신러닝
    pycharm
    경사하강법
    데이터베이스
    Machine Learning
    라즈베리파이
    JavaScript
    자료구조
    gradient descent
    딥러닝
    ssh
    알고리즘
    Algorithms
    Mac
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
doh.k
algorithms/알고리즘이란?
상단으로

티스토리툴바