Stacks and Recursion in Search Algorithms


Details
In this talk, Aaron Lau will explore foundational patterns and data structures in computer science: recursion and stacks. Recursion is a method where the solution to a problem involves solutions to smaller instances of the same problem, making it essential for solving complex problems by breaking them down into simpler, more manageable parts. Stacks are used for managing data in a structured way, enabling operations like inserting, removing, and accessing elements predictably. Aaron will discuss the role of recursion and its specific applications, emphasizing its conceptual significance. He will then illustrate how recursion and stacks are closely related and can be used to solve similar problems.
An interactive demonstration using a maze will showcase the practical application of these theoretical concepts. This demonstration will employ stacks for depth-first search, illustrating their utility in navigating and solving mazes efficiently. We will also explore recursive solutions and how iterative approaches using these data structures can achieve the same results. By connecting these abstract concepts with a tangible application, we aim to provide a comprehensive understanding of how fundamental data structures and algorithms can be effectively utilized in software development.
Aaron is a co-founder of SciVista, a VR data visualization company founded in 2018. SciVista collaborates with laboratories, universities, and companies of all sizes to advance science and education.

Stacks and Recursion in Search Algorithms