J-Log
Learning Diary
Algorithm Learning algorithm.

바킹독님의 실전알고리즘배우기 12강듣고 요약

바킹독의 실전 알고리즘 12강 링크

image
image


바킹독님의 실전알고리즘배우기 11강듣고 요약

바킹독의 실전 알고리즘 11강 링크

image
image


DFS

바킹독님의 실전알고리즘배우기 10강듣고 요약

바킹독의 실전 알고리즘 10강 링크

image
image


BFS

바킹독님의 실전알고리즘배우기 9강듣고 요약

바킹독의 실전 알고리즘 9강 링크

image
image


바킹독님의 실전알고리즘배우기 8강듣고 요약

바킹독의 실전 알고리즘 8강 링크

image
image


바킹독님의 실전알고리즘배우기 7강듣고 요약

바킹독의 실전 알고리즘 7강 링크

image
image

덱의 성질

image
덱은 double-ended queue로, 큐인데 양끝에서 삽입과 삭제가 가능한 자료구조이다.
양 끝의 원소 이외의 원소들은 원칙적으로 확인이 불가능하지만, STL deque에서는 가능하다.


바킹독님의 실전알고리즘배우기 6강듣고 요약

바킹독의 실전 알고리즘 6강 링크

image
image

큐의 성질

image

큐의 구현

image
큐는 배열로 구현하면 점점 원소들이 뒤로 밀리기 때문에 큐를 구현할 땐 위 그림처럼 tail과 head가 연결되는 원형 큐로 구현하는게 좋다.

하지만 코딩테스트에서는 입출력의 수가 정해져있기 때문에 충분히 배열의 크기를 크게 만들기만 하면 된다.
따라서 밑의 큐 구현 코드는 선형 큐이다.

```c++ #include <bits/stdc++.h> using namespace std;


바킹독님의 실전알고리즘배우기 5강듣고 요약

바킹독의 실전 알고리즘 5강 링크

image
image

스택의 성질

image

스택의 구현

```c++ #include <bits/stdc++.h> using namespace std;


바킹독님의 실전알고리즘배우기 4강듣고 요약

바킹독의 실전 알고리즘 4강 링크

image
image


바킹독님의 실전알고리즘배우기 3강듣고 요약

바킹독의 실전 알고리즘 3강 링크

image
image


바킹독님의 실전알고리즘 배우기 2강 듣고 요약

바킹독의 실전 알고리즘 2강 링크

image image

함수 인자 넘기기

image
답은 0, 10, 0이다.
int나 struct는 함수에 인자를 보낼 때 복사를 해서 보내기 때문이고, 배열은 주소를 보내기 때문이다.
(나는 2번을 틀려서 맴찢이었다.. 배열과 포인터에 관하여 다시 공부를 해야겠다.)
image
참조자(&)를 사용하면 더 깔끔하다.(참조자 복습하기)
image
vector 등 STL을 함수에 인자로 전달해도 복사가 되므로 주의한다.
위와 같은 경우는 vector의 원소를 전부 복사해야 하므로 시간 복잡도가 O(N)이 된다. 따라서 이 때도 참조자(&)를 이용하여 전달한다.
image
한 줄을 전부 입력받고 싶을 땐 getline()을 쓰는게 좋다.


바킹독님의 실전알고리즘 배우기 1강 듣고 요약

바킹독의 실전 알고리즘 1강 링크

image
image

시간 복잡도

image
문제에 따른 허용 시간 복잡도 짐작하기

공간 복잡도

image
메모리의 크기가 512MB라면 1.2억개의 int 변수를 선언할 수 있다는 것 기억하기(int 1개가 4byte)

정수 자료형