Codestates/Full IM

Algorithms

Hello, Big stranger 2020. 8. 3. 20:47

이번 sprint하면서 나의 뇌의 복잡함을 보여주는 이미지를 가져왔다.

Why Algorithms?

알고리즘은 주어진 문제를 해결하기 위한 일련의 절차들은 정의한 것이며,

 

1. 온라인 문제 풀이 사이트

2. 유튜브 등 동영상 플랫폼

3. 알고리즘 책

4. Goooooooogle 등

다양하서 접하고 보면서 컴퓨터의 사고능력을 훈련해야한다.

 

다양한 이유가 있지만 그 중에서 가장 중요한 이유중 하나는 많은 기업에서 알고리즘 테스트를 많이본다.

 

Algolism의 기본은 완전탐색을 기본으로한다. 즉, 빠짐없이 전부 다 탐색을 한다는 것이다 = 새하얗게 불태웠어...랑 같다

 

Intro to N-Queens

들어가기 앞서 N-Queens은 10을 난이도로 봤을때 입사시험에서 8,9정도하는 난이도로 보고있으며, 공식대회 수준으로는 난이도 1,2정도하는 것으로 보면 된다고 sprint 시간때 말씀해주신것을 적어본다.

안에 보면 BackBone.js에 대해서 있는데 깊게 들어가기 보단 get,set Method 정도만 알고있으면 된다고 한다.

 

N-Queens을 풀기전 pair가 쌍으로 이어져 팀 전략으로 분석하는 시간과 다시 pair시간으로 돌아와서 N-Queens에 대해서 풀어보는 시간을 가졌다. 들어가기에 앞서 그전에 알고 가야하는것들이 있다. 바로 DFS와 BFS, 그리고 Backtracking이다.

DFS(Depth First Search, 깊이 우선 탐색)와 BFS(Breadth First Search, 너비 우선 탐색)는 지난 시간 배웠던 자료구조 중 그래프 탐색과 관련한 알고리즘이며, Backtracking(되추적)은 DFS가 보다 효율적으로 작동할 수 있도록 탐색하는 기법이다.

 

DFS ?

무한히 깊곳을 찾을 때 효과적이다.

 

 

BFS?

모든 곳을 동시 진행하기 때문에 탐색이 가능하다. 자식이 아닌 형제를 먼저 순회하는 방식이다.

 

일반적으로 DFS(깊이 우선 탐색) 통하여 구현하는데 BFS(넓이 우선 탐색)의 경우 상대적으로 많은 메모리가 필요하기 때문이다.

 

Backtracking?

 

 

상태공간트리?

 

Board.js per

왜 이렇게 되지 했을때 비슷하 코플릿 문제를 찾아본다면 다음문제와 같다고 본다.

 

'Codestates > Full IM' 카테고리의 다른 글

Basic CS Hiring Assessments  (0) 2020.08.04
IM Basic CS Section을 마치며.  (0) 2020.08.04
Subclass Dance Party  (0) 2020.07.30
BeesBeesBees  (0) 2020.07.30
Inheritance patterns  (0) 2020.07.30