거누의 개발노트
[항해] 알고리즘 2주차 회고 (자료구조-알고리즘) 본문
이번주도 마찬가지로 시간이 너무 빠르다. ( 매번 시간이 빨라서 이 말 밖에 안나온다...ㅎ )
어느정도 적응이 된건지 아니면 쉬운 문제를 푸는건지 몰라도 조금씩 늘어가고 있는건 보인다. ( 그래도 다행이다. 사실 첫주차 불안했다. )
이번주차부터 TIL을 꼬박꼬박 써서 수월하게 적을 수 있을 것 같다.
1일차
1일차는 트리와 이진트리에 대해서 배웠다.
https://geonoo.tistory.com/106
2일차
이진 탐색 트리의 검색, 삭제, 삽입에 대해서 배웠고 global 변수와 nonlocal 변수의 차이에 대해서 공부했다.
이 날은 문제를 잘 못풀었던 기억이 있다. 이때 문제를 다시 복습하는 과정을 거치는것도 좋을것 같다.
https://geonoo.tistory.com/110
3일차
힙에 대해서 배웠다. 힙은 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리이다!
그리고 heapq 모듈 사용법도 익혀둔 날이다!
아마 이날은 heapq 모듈로 수월하게 풀어서 기분이 좋은 상태였을 것이다.
https://geonoo.tistory.com/115?category=1075791
4일차
버블정렬, 선택정렬, 삽입정렬을 배웠다.
정렬들을 내손으로 집접 구현해 보았고, 문제에도 적용시켜 봤다.
그리고 내장 함수 sort에 대해서도 정확히 사용할 수 있게 되었다.
cmp_to_key 나 lamda를 이용해서 내가 원하는 정렬방식으로 정렬할 수 있게 되었다.
그리고 zip() 함수도 쓸수 있게 되었고, 항해톡도 구경했던 날이었다.
https://geonoo.tistory.com/116?category=1075791
5일차
퀵정렬, 병합정렬, 힙정렬을 배웠다.
마찬가지로 내가 혼자 구현할 수 있도록 연습했다. 아직 연습이 부족한 것 같다. 시간내서 한번씩 다 구현해보는 시간을 가져야겠다.
이날은 조금 늘어지는 날이였던 기억이 난다. 시간관리를 잘 못해서 혼자 죄책감 가지고 있던...;;
결국은 3시까지 공부하고 자긴 했다.
CS 발표 준비도하고 프로그래머스 문제 쉬운걸로 몇문제 풀다보니 시간이 훌쩍 흐르긴 했다.
https://geonoo.tistory.com/123
https://geonoo.tistory.com/122?category=1075791
6일차
이진 탐색에 대해서 배웠다. 정렬된 자료 기준, 선형 탐색은 시간복잡도가 O(N) 나오는데, 이진탐색은 O(logN) 이 나와서 1억번 할걸 26번만 해도 되는 놀라운 탐색이었다.
처음에 접긴하기가 그렇게 쉽지는 않았다. 이진트리를 이해하고 있어야 했고, 새로운 모듈도 공부해야 했다.
bisect라는 파이썬 라이브러리를 사용해서 이진탐색을 할 수 있고, 실제로 구현하는 과정도 연습해 봤다.
https://geonoo.tistory.com/128
회고
알고리즘 2주차가 지나니까 어느정도 항해도 그렇고 알고리즘도 그렇고 한 계단씩 올라가고 있는것 같다.
그리고 알고리즘은 이번주가 마지막 주이다.
처음에는 과정이 너무 어렵고 힘들다고 생각했는데 마지막 주가 되니까 이제야 감이 잡혀가는 것같다.
공부하는 감이라도 잡은게 다행이라는 생각이 문득 들었다.
항해 오기전에는 공부한 방법도 몰랐다.
어떡해 해야 효율적으로 공부할 수 있을까 시간을 많이 투자한다고 효율이 올라가는게 아니라는건 누구나 알고있을 것이다.
항해에서 새로운 사람들을 만나면서 다른 사람들이 공부하는 방식을 적용해 보면서 감을 잡은 것 같다.
이번주는 어떤 일이 있을까 기대된다. 그러기에 오늘을 잘 마무리해 보자!
'CS' 카테고리의 다른 글
자료구조/알고리즘 Dynamic Programming (0) | 2022.06.02 |
---|---|
자료구조/알고리즘 - 최단경로 (1) (0) | 2022.05.31 |
자료구조/알고리즘 - 이진탐색 (1) (0) | 2022.05.28 |
알고리즘과 선형알고리즘 (2) | 2022.05.28 |
자료구조/알고리즘 - Quicksort, Mergesort (0) | 2022.05.27 |