Tree
-
자료구조 알고리즘 문제 (다시 보기)algorithm 2022. 1. 11. 17:19
문제 1 피보나치 수열을 순차적으로 출력하는 클로저 형태의 함수를 작성하기. * 출력 : 호출될 때마다 다음 피보나치 수를 리턴하는 함수를 리턴해야 한다. * 주의 사항 : 피보나치 수는 0과 1로 시작하며, 다음 피보나치 수는 바로 앞의 두 피보나치 수의 합이 됩니다. * 예시) 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... : 리턴되는 클로저 내부 함수(inner function)의 구현은 recursive 혹은 iterative한 방법 중 어떤 것이어도 괜찮습니다. * 입출력 예시 const fn = test1(); console.log(fn()); // --> 0 console.log(fn()); // --> 1 console.log(fn()); // -..
-
자료구조 ( Tree, Graph, BST, BFS, DFS )Topic/Data Structure 2021. 12. 17. 22:19
Tree Traversal 전위 순회 가장 먼저 루트를 방문하고, 루트에서 시작해 왼쪽 노드부터 먼저 둘러본 뒤, 왼쪽 노드 탐색이 끝나면 오른쪽 노드를 탐색한다. 중위 순회 루트를 가운데에 두고 순회한다. 제일 왼쪽 끝에 있는 노드부터 순회하기 시작해 루트를 기준으로 왼쪽에 있는 노드의 순회가 끝나면 루트를 거쳐 오른쪽에 있는 노드로 이동하여 마저 탐색합니다. 후위 순회 루트를 가장 마지막에 순회한다. 제일 왼쪽 끝에 있는 노드부터 순회하기 시작해 루트를 거치지 않고 오른쪽으로 이동해 순회한 뒤, 제일 마지막에 루트를 방문합니다. BFS / DFS 그래프의 탐색은 하나의 정점에서 시작하여 그래프의 모든 정점들을 한 번씩 방문(탐색)하는 것이 목적이다. BFS: Breadth-First Search, 너..
-
알고리즘, 자료구조, stack, queueTopic/Data Structure 2021. 12. 17. 09:08
자료구조 기초 자료구조: 여러 데이터의 묶음을 저장하고, 사용하는 방법을 정의한 것. 대표적인 자료구조 네 가지 Stack, Queue, Tree, Graph 자료구조는 어떤 특정 상황에 놓인 문제를 해결하는데 특화되어있다. 많은 자료구조를 알아두면, 어떤 상황이 닥쳤을 때 적합한 자료구조를 바로 적용하여 해결할 수 있다. Stack (스택) 데이터(data)를 순서대로 쌓는 자료구조다. 금은동 메달을 각각 책상에 쌓는다고 생각해보자 첫번째로 금, 다음은 은,동 순서로 쌓고, 우리가 다시 그 메달을 집을 때 어떤 메달부터 잡아야 할까? 동메달부터 잡고, 은메달, 마지막으로 금메달을 잡을 수 있다. 이러한 방식처럼 가장 먼저 쌓은 메달은 가장 나중에 잡을 수 있는 경우가 스택이다. 스택의 특징은 입력과 출..