# Day 26 Exit Ticket Solutions: Data Structures **You should be able to:** - Define and distinguish Abstract Data Types (ADT) and Data Structures (DS) - Describe how both a stack and a queue work (how are they different, what similarities do they have, etc.) - Implement a Linked List and Binary Search Tree (BST) class - Explain the high-level differences between depth-first and breadth-first search - Explain the differences between pre-order, in-order, and post-order processing ## Choose whether a given object is an ADT or a DS: | | ADT | DS | | - | --- | -- | | Contiguous Array | | ☑️ | | Stack | ☑️ | | | Queue | ☑️ | | | List | ☑️ | | | Tree | ☑️ | | | Linked List | | ☑️ | **Overview:** - **Abstract Data Type (ADT)** – It's a blueprint of expected operations and how information is related. - **Data Structure (DS)** – It's an actual implementation of how information is stored memory. ## Match the method with the appropriate ADT: | | Stack | Queue | | - | ----- | ----- | | Enqueue | | ☑️ | | Dequeue | | ☑️ | | Push | ☑️ | | | Pop | ☑️ | | ## Choose which type of tree traversal is better for the given task: | | Breadth First Search | Depth First Search | | - | -------------------- | ------------------ | | Traverses tree level by level | ☑️ | | | Traverses tree branch by branch | | ☑️ | | Good for copying a BST | | ☑️ (pre-order) | ## Match each use case with the appropriate depth first traversal methods: | | Pre-order </br> (root, left, right) | Post-order </br> (left, right, root) | In-order </br> (left, root, right) | | - | - | - | - | | Produces a sorted list of items from a BST | | | ☑️ | | Remove all tree nodes from memory | | ☑️ | | | Clone a binary search tree | ☑️ | | |