[알고리즘] 재귀 함수를 이용한 트리 순회 알고리즘
·
알고리즘/풀이 힌트
재귀 함수를 이용하는 트리 순회는 전위 순회, 중위 순회, 후위 순회가 있다. 전위 순회 루트 노드를 방문하고, 왼쪽 서브 트리를 전위 순회한 뒤 오른쪽 서브 트리를 전위 순회하는 방식이다. 1 / \ / \ 2 3 / \ / \ 4 5 6 7 트리가 있다면 1. 루트 노드 [ 1 ] 을 방문한다. 2. [ 2 ]를 방문한다. 3. [ 2 ]의 왼쪽 서브 트리로 이동한다. 4. [ 4 ]를 방문한다. 5. [ 4 ]의 왼쪽, 오른쪽 서브 트리가 없으므로 올라간다. 6. [ 2 ]의 오른쪽 서브 트리로 이동한다. ... 방식으로 [ 1, 2, 4, 5, 3, 6, 7 ] 순서대로 순회한다. preorder(tree) { 방문(tree.root); preorder(tree.left); preorder(tre..
[JavaScript] ES6에서의 순회와 이터러블
·
JavaScript
1. ES6에서의 리스트 순회 우리가 일반적으로 사용하는 리스트의 순회는 for( let i = 0; 1 < 10; i++) 방식이다. const list = [1, 2, 3]; for(let i = 0; i < list.length; i++) { console.log(list[i]); } ES6에 오면서 새로운 방식의 리스트 순회가 생겼다. const list = [1, 2, 3]; for(const a of list) { console.log(a); } for of 방식으로 내부 데이터를 쉽게 조회하는 방법이 생겼다. 2. 이터러블/이터레이터 프로토콜 이터러블 프로토콜은 ES6에서 도입된 것으로 순회 가능한 객체를 나타내는 프로토콜이다. for of 반복문, ... 전개 연산자, 구조 분해 등과 같이..