Algorithm(알고리듬)이란 주어진 문제를 해결하기 위한 일련의 절차들을 정의한 것이라고 할 수 있습니다.
알고리듬을 생각해내고 코드로 구현하는 것은 개발자에게 반드시 필요한 능력이지만 고통스러운 과정이기도 합니다. 따라서 능력 개발을 위해 자주 경험하고 훈련해보는 것이 중요합니다.
Data Structure(자료 구조)에서 각 노드들을 순회하는 방법에 따라 Breadth First Search(BFS, 너비우선 탐색) 또는 Depth First Search(DFS, 깊이우선 탐색)이 있습니다.
자료 구조의 깊이나 너비 우선 기준이 아닌 정해진 탐색 순서에 따라 순회할 수도 있습니다. 탐색 순서에는 Preorder Traversal(전위 순회), Inorder Traversal(중위 순회), Postorder Traversal(후위 순회)가 있습니다.
- Preorder Traversal : Left-Root-Right
- Inorder Traversal : Root-Left-Right
- Postorder Traversal : Left-Right-Root
Binary Tree's Traversal
(1) BFS : 1, 2, 3, 4, 5
(2) DFS
- Preorder: 1, 2, 4, 5, 3
- Inorder: 4, 2, 5, 1, 3
- Postorder: 4, 5, 2, 3, 1
자료 출처: GeeksforGeeks