Trees - DFS, BFS, BST
אחד הראיונות שנשארים בזיכרון: "Serialize and Deserialize a Binary Tree." נראה קשה. מועמד שיש לו Intuition ברור על DFS - כותב 20 שורות ועובר. מועמד שמנסה להמציא גישה חדשה - מסתבך. Trees הן אחד התחומים שבהם DFS ו-BFS הם לא רק Algorithms, הם Templates שאפשר לשנן.
עצים הם גם המקום שבו רקורסיה מרגישה "טבעית" הכי הרבה. כל בעיית Tree כמעט ניתנת לתיאור ב-3 שורות של רקורסיה: Base Case על node ריק, תשובה משמאל, תשובה מימין, שלב שמשלב. זה DFS Template. ברגע שפנימים אותו - כמעט כל בעיית Tree הופכת לברורה.
Trees מופיעות בכל ראיון רציני. LeetCode מדווח שסוג השאלות הנפוץ ביותר הוא Binary Trees - יותר מ-Arrays. הסיבה: Recursion, Divide & Conquer, ו-Traversals - כל אלה מוצגים טבעית בעצים.