Practical Algorithm Design

Solving real-world problems

Code Trail4 of 6

Master the implementation of crucial algorithms such as BFS, DFS, and Dynamic Programming. This trail bridges theoretical knowledge with practical application, enabling you to solve real-world problems efficiently.

6 Chapters

22

0123456789
0123456789

Concept Explanations & Warm up problems

Learn concepts with detailed explanations and illustrations. Wrap up with practice problems to apply what you've learned.

89

0123456789
0123456789

Challenge Problems

Apply what you've learned to various practice problems and identify any gaps in your understanding.

19

0123456789
0123456789

Test Problems

The final stage of each chapter consists of test problems that you must solve on your own, without solutions or discussion features. With a slightly higher difficulty level, these problems help you refine your skills.

Table of contents

1

Advanced Simulation

Learn how to perform exhaustive searches and implement complex operations like rotation and movement on two-dimensional grids.

Exhaustive Search

Shift

Bomb & Drop

Moving a single object within a grid

Moving multiple objects within a grid

2

Backtracking

Explore how to use recursive functions to enumerate all the combinations that satisfy specific conditions.

K Way Exhaustive Search (Simple)

K Way Exhaustive Search (Conditional)

Choose M out of N

Permutation

3

Depth-First Search

Learn how to apply DFS to graphs and solve a variety of problems using this technique.

DFS

4

Breadth-First Search

Discover how to use BFS on graphs and tackle different types of problems with this approach.

Traversal

Equal Weighted Graph

5

Dynamic Programming I

Explore a wide range of basic Dynamic Programming problems and their solutions.

Call themselves that have same shape and merge

One Object Moving in Grid

Optionally Select that meets the conditions

Selecting Items appropriately

6

Dynamic Programming II

Learn how to define appropriate states for more challenging Dynamic Programming problems.

Define state to apply condition

Linear Shape

String Matching

The skills you gain...

Significantly reduce coding errors and improve code accuracy

Confidently implement correct solutions that meet problem requirements

Master problem-solving techniques for permutations, combinations, graph traversals, and simulations

Solve approximately half of the problems in typical coding tests with confidence

Develop a structured approach to tackling complex algorithmic challenges

Recommended for those that need...

Understand data structure and algorithm concepts but lack practical problem-solving experience

Want to reduce the frequency of coding mistakes

Aim to improve efficiency in solving simulation problems

Seek to enhance skills in generating permutations and combinations

Want to become proficient in graph traversal and shortest path algorithms

Need more practice with BFS and its applications in various problem types

Desire to bridge the gap between theoretical knowledge and practical implementation

Branch and Bound Co., Ltd. | © 2026. Branch and Bound Inc.

All educational materials on the Codetree site are protected by copyright law. Unauthorized reproduction/copying/distribution without the consent of the author is prohibited. Copyright © Branch & Bound | contact@codetree.ai

CEO : Seung-Yong Lee | Address: 1000 N. West Street, Suite 1200, Wilmington, Delaware, 19801 | Landline : +1 302 295 4813 | Contact : contact@codetree.ai