반응형
Section5의 2주차에서는 스택, 큐, 연결리스트, 트리, 분할정복, 재귀, 정렬 알고리즘에 대하여 학습했다.
고급 알고리즘을 사용하기 위하여 기본적으로 알아야 할 지식들이라고 생각되지만, 이것들을 학습하는것도 힘이 들었다.
스택, 큐와 같은 간단한 자료구조를 연결리스트를 이용하여 시간복잡도를 줄이는 방법과 재귀와 같은 추상적인 지식들이 가장 이해하기 어려웠다.
다음은 가장 기본적인 정렬알고리즘 5가지 선택, 삽입, 버블, 퀵, 병합 정렬을 학습하였다.
우리가 흔하게 사용하는 sort, sorted와 같은 함수들이 어떤식으로 동작하게 되는지 알게 되었다.
물론 sort, sorted 내부적으로는 위의 5가지 정렬알고리즘을 사용하고 있지는 않는다.
내부적으로 삽입정렬과 병합정렬을 합친 tim sort를 사용하고 있다고 한다.
자료구조와 알고리즘은 쉽게 변화하지 않고 어느정도 정착한 과목이라고 들었다.
프로그래밍 언어를 이용하여 무엇인가 작업을 하기 위하여는 반드시 가지고 가야할 과목이라고 생각이 들어 더욱 깊이있게 다뤄보고 싶다.
머신러닝, 딥러닝 분야에서도 자료구조와 알고리즘을 기반으로 발전했을 것이고,
이미 내부적으로 중요한 요소로 자리잡고 있을 것이다.
그 동안 프로그래밍을 꾸준히 하여 언어와 많이 친해졌다고 생각하였다.
하지만 백준, 프로그래머스 문제들을 보니 머리로는 풀 수 있겠지만 막상 코딩을 하려고 하니 쉽게 되지 않는 부분들이 있었다.
이 공백들을 자료구조와 알고리즘이 채워줄 거라 믿는다.
반응형
'부트캠프 회고' 카테고리의 다른 글
[마지막] 코드스테이츠 AIB_13기 회고 (0) | 2022.10.31 |
---|---|
코드스테이츠 AIB_13 19 & 20주차 회고 (0) | 2022.08.29 |
코드스테이츠 AIB_13 17주차 회고 (0) | 2022.08.08 |
코드스테이츠 AIB_13 15&16주차 회고 (0) | 2022.07.28 |
코드스테이츠 AIB_13 14주차 회고 (0) | 2022.07.19 |