[알고리즘] 알고리즘 공부 시작해보기!

hoonie·2021년 7월 26일
0

알고리즘

목록 보기
1/15
post-thumbnail

오늘부터 알고리즘 문제들도 조금씩 풀어봐야겠다고 생각했다

취업을 위한 코딩테스트 대비 하는것에 대한 중요한 의미도 있지만, 그 외에도 개발자라면 개인적인 성장을 위해 알고리즘 공부는 틈틈히 하는것이 좋겠다라는 생각을 하였다!

처음에는 자료구조와 알고리즘을 왜 하는지 잘 이해가 안갔다. 우선, 웹개발을 하면서 굳이 알고리즘을 작성하는 이해력이 많이 필요하지 않을뿐더러, 단순히 취업을 위한 테스트라고만 생각을 했다...

하지만 이 생각은 매우 어리석은 생각!

많은 기업에서도 이러한 과정을 추구하는것도 이유가 있었을텐데, 지금까지 알고리즘 자료구조에 대해 너무 간과했다.. ㅠㅠ

솔직히 알고리즘 하면 수학천재, 컴퓨터 천재들의 영역이라 생각하였고 난 무서워서 계속 핑계를 대면서 피해왔는지도 잘 모르겠다.

근데 꼭 그렇지도 않는것같다.. 일단 나는 시작 조차도 제대로 안해봤으면서 지레 겁을 먹었던거고 나도 하면 할 수 있지 않을까?

알고리즘을 풀어가는 능력은 프로그램 속도 개선에서 매우 중요하다.

알고리즘에서 중요한 개념인 빅O 라는 개념이 나온다

빅O란?

빅오는 불필요한 연산을 없애고 알고리즘 분석을 손쉽게 할 목적으로 사용되는데, 중요하게 측정되는 복잡도에는 시간 복잡도가 있다. 공간복잡도라는 것도 있는데, 이것은 메모리의 발전으로 중요도가 점점 낮아지고 있다고 한다.

즉 시간복잡도의 개념이 많이 중요하다고 한다. 우리도 일상생활에서 속도의 효율성을 많이 따지듯이 컴퓨터도 따져줘야한다! 예를들어 강남역에 가기 위해 가장 빠른 길을 찾기 위해 스마트폰의 도움을 받는 것처럼, 우리가 개발하는 프로그래밍에도 빠른 출력이 나오도록 설계를 해야하지 않을까~?! 프로그래밍 코드의 양이 방대하면 방대해질수록 이 개념은 매우매우 중요해질것이고, 훌륭한 시니어 개발자가 되기 위하여 단순히 취업이 목적이 아닌! 나 자신을 위해 계속 공부해야겠다...

0개의 댓글