본문 바로가기
개발 프로젝트 도전기/자료구조, 알고리즘 (JS)

개요 | 공부 포인트, 시간 복잡도

by vitaminFE 2022. 10. 7.

본격적으로 시작에 앞서, 필자는 수학, 과학을 사랑한 이과소녀였다. 

수학 과목에서 미적분 계산 보다도 문장, 도형으로 이뤄진

다른 시야로 바라볼 수 있는 수학을 좋아했던 것으로 기억한다.

수학Ⅱ의 수열 단원 중 짧게 나오는 알고리즘과 순서도나, 확률과 통계, 기하와 벡터를 좋아했다.

(지금은 수Ⅱ에 알고리즘과 순서도라는 재밌는 과목이 사라졌다.

해당 단원을 알고 계시는 분은 오렌지를 흔들어주시면 동질감이 느껴질 것 같다🍊)

 

더보기

참고 :
 https://ko.wikipedia.org/wiki/%EB%8C%80%ED%95%9C%EB%AF%BC%EA%B5%AD%EC%9D%98_%EA%B3%A0%EB%93%B1%ED%95%99%EA%B5%90_%EC%88%98%ED%95%99_%EA%B5%90%EA%B3%BC%EB%AA%A9

 

대한민국의 고등학교 수학 교과목 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 다음은 대한민국의 고등학교 수학 교과목에 관한 설명이다. 현행 교육과정[편집] 2015 개정 교육과정[편집] 상 다항식 (다항식의 연산, 나머지정리, 인수분해, 곱

ko.wikipedia.org

 

특히 알고리즘과 순서도 단원을 처음 접했을 때는 한창 재밌어서 친구들이랑 게임 형식으로 놀았던 기억이 있다 ㅋㅋㅋ

다이아몬드, 무슨 이상한 도형들도 그리고, 예 아니오로 나누어서 생활을 표현한다는 부분이 신선했다.

이후 교육과정이 바뀌고 내가 아이들을 가르치게 될 때엔 재밌는 내용은 많이 빠져서 개인적으로는 아쉬웠다.

(수학이 재밌다는 것을 느낄 수 있는 단원이었을텐데)

 

그렇게 시간이 흐르고 다시 접하게 된 알고리즘은 다양한 수학을 접했던 나한테는 새로운 시선으로 다가오게 되었다.

손으로가 아닌 컴퓨터에게 잘 명령을 해서 어떻게 쉽게 문제를 해결할 것인가!

물론 컴퓨터 공학 전공 과목으로 배웠다면 다소 따분할 수 있었겠지만,

나에게는 개인적으로 재밌었던 분야이기에 설렘이 가득했던 첫 시작이 기억난다. (두근두근)

 

자료구조, 알고리즘 기본을 오프라인 수기로 공부하던 노트를 조금씩 옮겨보고자 한다.

공부할 때 노트를 '설명하듯이 적는' 방법을 좋아하는데,

고등학교 당시에 개념서 출판사에 취업해 친절한 설명을 곁들인 개념서에 모든 것을 쏟아볼까 생각했던 경험이 난다.

그 경험을 옮겨 하나하나 자료구조, 알고리즘을 정복해보고자 한다.

 

 

프로그래밍과 떼려야 뗄 수 없는 자료구조, 알고리즘 기본기 재정비 :D

 

자료구조와 알고리즘을 알아두면,

어떤 문제를 해결하기 위해 어떤 자료구조에 담아야 할지,

어떤 알고리즘을 사용해야 효율적 일지 생각할 수 있다.

 

 

정성스러운 손 필기 ✍🏻 (클릭)

 

자료구조와 알고리즘이란?

- 공부 포인트 (사진 참고)

 

 

시간 복잡도

- 특정 알고리즘이 어떤 문제 해결에 걸리는 시간

- 코드에서 성능에 영향 많이 주는 부분을 찾아 실행 시간을 예측한다

- Big O (최악의 경우, 가장 오래 걸리는)

 

 

 

본격적으로 자료구조, 알고리즘 순한맛에 시작해보자 :D