Zeta Oph's Study

[Data Structure (Java)] Tree (2) - Tree Traversal Algorithms 본문

프로그래밍/Java

[Data Structure (Java)] Tree (2) - Tree Traversal Algorithms

Zeta Oph 2024. 5. 13. 01:27

https://crane206265.tistory.com/81

 

[Data Structure (Java)] Tree (1) - Binary Tree

https://crane206265.tistory.com/80  [Data Structure (Java)] Iteratorhttps://crane206265.tistory.com/79 [Data Structure (Java)] Listhttps://crane206265.tistory.com/78 [Data Structure (Java)] Stackhttps://crane206265.tistory.com/76 [Data Structure (Java

crane206265.tistory.com

Tree를 했으니, 이번엔 tree traversal algorithm(트리 순회 알고리즘)입니다.


Tree Traversal

: visiting all nodes of a tree

 

Terminology
- left subtree : subtree rooted at a left child of an internal node
- right subtree : subtree rooted at a right child of an internal node

 

 

* all algorithm should be thought "recursively"


Depth-First Search (DFS) (Depth-First Tree Traversal)

Preorder

: root -> left subtree -> right subtree

(do the root first)

 

Postorder

: left subtree -> right subtree -> root

(do the root last)

 

Inorder

: left subtree -> root -> right subtree


Breadth-First Search (BFS) (Breadth-First Tree Traversal)

: visit all node at depth d before visit depth d+1

( : level by level )