Temp

신입 개발자에게 자료구조와 알고리즘이 중요한 이유

ju_young 2023. 11. 8. 22:14
728x90

DSA(Data Structure and Algorithms)는 소프트웨어 구현과 채용 과정에서 중요한 역할을 한다.

 

개발자는 기업에서 맞닥뜨린 문제들을 해결하기위해 올바른 결정을 내려야한다. 예를 들어 자동차 정비사가 자동차를 수리하기위해서 올바른 도구가 필요한 것처럼 개발자는 소프트웨어가 제대로 실행되도록 올바른 도구(DSA)가 필요하다.

 

구글, 마이크로소프트, 메타, 아마존과 같은 기업들이 다른 기업들보다 급여가 높은 이유가 뭘까? 이런 기업들은 구현하는 시간을 대충 20~20%만 할애한다. 대부분의 시간은 최적의 알고리즘으로 설계하여 기업의 자원을 절약하는데 사용된다. 이것이 기업이 DSA를 중요하게 생각하는 이유이다.

 

현실에서의 복잡한 문제들을 해결하기위해서도 DSA는 중요하게 작용한다. 몇 가지 예시를 들어보면

  • 트위터, 메타 등 SNS에서 친구과 친구의 친구들을 표현하기위해서 어떤 자료 구조를 사용하는 것이 좋을까?
    • Graph 를 사용한다면 쉽게 표현할 수 있을 것이다.
  • 카드들을 적절히 잘 정리해야된다면 어떻게 해야할까?
    • Stack을 사용한다면 적절히 카드들을 정리할 수 있을 것이다.
  • 사전에서 단어를 찾아야한다면 어떻게 해야할까?
    • Binary Search 알고리즘을 적용한다면 효율적으로 단어를 찾을 수 있을 것이다.

위 예시들을 보며 현실에서도 DSA가 얼마나 중요한지 이해할 수 있었을 것이다.

Data Structure and Algorithms helps in understanding the nature of the problem at a deeper level and thereby a better understanding of the world.

 

[reference]
https://www.geeksforgeeks.org/why-data-structures-and-algorithms-are-important-to-learn/

728x90