본문 바로가기
반응형

공부67

[JavaScript] 백트래킹(Backtracking) 알고리즘 오늘은 백트래킹(Backtracking, 되추적) 알고리즘에 대해서 공부했다. 백트래킹 알고리즘이란 되추적이라고도 하는데 해를 구하기 위해 모든 경우의 수를 조사하지만 유망한 경우만 검사한다고 생각하면 된다. 흔히들 말하는 '가지치기'이다. 백트래킹은 DFS를 기반으로 만들어진다. 깊이 우선 탐색으로 인해 해당 경우의 수로 탐색하며 내려가다가 해당 노드가 조건에 맞지 않는다고 생각되면 가지치기하듯이 그 경우를 잘라내고 다시 상위 노드로 돌아가 다른 하위 노드로 내려가는 과정을 반복한다. 이를 위해 먼저 DFS를 알아두어야 한다. 백트래킹의 대표적인 예시로는 N-Queen 문제가 있는데 퀸을 어디에 놓느냐에 따라 다음 퀸을 놓을 수 있는 위치에 영향을 끼쳐 백트래킹 기법으로 검사를 하는 것이 가장 좋다. .. 2020. 11. 6.
[JavaScript] DFS와 BFS에 대해서 오늘은 DFS와 BFS에 대해서 알아보았다. DFS와 BFS는 그래프를 순회하며 탐색하는 알고리즘으로 DFS는 깊이 우선 탐색, BFS는 너비 우선 탐색으로 DFS는 Depth-First Search BFS는 Breadth-First Search를 뜻한다. 그래프란 정점과 간선으로 이루어진 자료구조의 일종으로 그래프를 탐색한다는 것은 어느 특정한 정점을 시작으로 모든 정점을 방문하는 것을 뜻한다. 그래프 더 알아보기 [Data-Structure] Graph (그래프) 오늘은 비선형 구조 중 하나인 그래프(Graph)에 대해서 공부했다. 그래프(Graph)는 노드(Node, 또는 정점 -vertex- 이라고도 부른다), 그리고 노드와 노드를 연결하는 간선(edge)으로 구성된다. 그래프는 ant-progr.. 2020. 11. 5.
[JavaScript] ES6 Syntax 오늘은 JavaScript 최신 문법인 ES5 Syntax에 대해서 공부했다. 자바스크립트 최신 문법은 코딩을 더욱 편리하게 해 줄 뿐만 아니라 가독성에도 좋다. 여러 가지 예제들을 통해 ES6 최신 문법들에 대해서 알아보겠다. Destructuring Destructuring은 구조 분해 할당 구문으로 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 표현식이다. // ES5 var user = { name: 'Leo', age: 25, address: '안양' }; var name = user.name; var age = user.age; console.log(name + ', ' + age); // Leo, 25 // ES6 let user = { name: 'Leo', ag.. 2020. 11. 5.
[2020.11.1] 10월 마지막주 회고록 10월 마지막 주를 보내고 드디어 11월이 찾아왔다. 이번 한 주동안 어떤 걸 공부했나 되짚어보니 자료구조(BFS, 해시, 트리구조)와 JS에서의 상속 패턴에 대해서 공부했다. 저번 주의 나와 비교했을 때 이번 주의 나는 그렇게 떳떳하지 않았던 것 같다. 사실 다른 언어에서 이미 자료구조와 상속 패턴에 대해서 공부를 했었기 때문에 이번 한 주가 좀 수월하긴 했다. 수월하다고 해서 공부량을 줄이면 안되는거였는데 지난주와 비교했을 때 공부량이 좀 눈에 띄게 줄어든 것 같았다. 평일에 공부량이 좀 적은 느낌이라 주말에 좀 더 해야지하고 심화된 부분을 뒤로 미뤘는데 주말에도 또 미뤄버렸다. 아주 밀림의 왕이 되어버린 것이다. 아는 내용이 나온다고해서 복습을 소홀히 해선 안되고 시간이 남으면 예습이라도 했어야 했.. 2020. 11. 1.
반응형