### Advanced Data Structures & Algorithms in Java: Working With Binary Trees

Overview/Description
Expected Duration
Lesson Objectives
Course Number
Expertise Level

Overview/Description

A solid understanding of data structures and algorithms is fundamental to writing clean, performant, fast, and robust programs without relying on scarce resources. To capitalize on this, Software Engineers need to recognize the core concepts of basic data structures, their characteristics, and the algorithms behind them.

In this course, you'll identify the basic structure and representation of a binary tree and tree traversal algorithms. You'll learn how binary trees are essentially nodes that have references to their left and right children. You'll explore how nodes of a binary tree can be traversed using depth-first traversal and breadth-first traversal. Finally, you'll recognize the three flavors that exist for depth-first traversal: pre-order, post-order, and in-order traversal.

Expected Duration (hours)
1.4

Lesson Objectives

Advanced Data Structures & Algorithms in Java: Working With Binary Trees

• discover the key concepts covered in this course
• recognize the characteristics of binary trees
• summarize breadth-first traversal in a binary tree
• summarize depth-first traversal in a binary tree
• explain depth-first, pre-order traversal in a binary tree
• explain depth-first, in-order traversal in a binary tree
• explain depth-first, post-order traversal in a binary tree
• represent a binary tree using the Java programming language
• write and execute code which performs breadth-first traversal
• visualize the levels of nodes visited in breadth-first traversal
• use in-order traversal to traverse nodes via the left child, parent, and then right child
• implement in-order traversal using recursion
• use pre-order traversal to traverse nodes via the parent, left child, and then right child
• implement pre-order traversal using recursion
• use post-order traversal to traverse nodes via the left child, right child, and then parent
• implement post-order traversal using recursion
• summarize the key concepts covered in this course
• Course Number: