### Taller de resolución de problemas para entrevistas técnicas Mariano Goldman \ (marianogoldman@gmail.com) --- # Clase 3 --- ## Repaso de clase anterior - Búsquedas - Recursión - Backtracking - Qué es importante explicar en cada caso --- ## Esta clase - Estructuras no lineales: árboles. - Representación y recorridos más comunes. - Problemas típicos. - Práctica sugerida. --- ## Árboles - Estructura no lineal ```typecript export class TreeNode { val: number; left: TreeNode | null; right: TreeNode | null; constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { this.val = val ?? 0; this.left = left ?? null; this.right = right ?? null; } } ``` --- ## Recorridos - En profundidad (DFS): - Pre-order / In-order / Post-order - En anchura (BFS): - Por niveles --- ## Recorridos: Pre order ```mermaid graph TD A((A)) --> B((B)) A --> C((C)) B --> D((D)) B --> E((E)) ``` A → B → D → E → C --- ## Recorridos: In order ```mermaid graph TD A((A)) --> B((B)) A --> C((C)) B --> D((D)) B --> E((E)) ``` D → B → E → A → C --- ## Recorridos: Post order ```mermaid graph TD A((A)) --> B((B)) A --> C((C)) B --> D((D)) B --> E((E)) ``` D → E → B → C → A --- ## Recorridos: por niveles ```mermaid graph TD A((A)) --> B((B)) A --> C((C)) B --> D((D)) B --> E((E)) ``` A → B → C → D → E --- ## Maximum Depth of Binary Tree (LC #104) --- ## Validate Binary Search Tree (LC #98) --- ## Práctica en parejas Problema: Binary Tree Level Order Traversal (LC #102) --- ## Práctica en parejas Problema: Path Sum (LC #112) --- ## Práctica en parejas Problema: Invert Binary Tree (LC #226) --- ## Práctica en parejas Problema: Binary Tree Right Side View (LC #199) --- ## Práctica en parejas Problema: Same Tree (LC #100) --- ## Práctica en parejas Problema: Combination Sum (LC #39) --- ## Práctica en parejas Problema: Symmetric Tree (LC #101)