feat(viz): tree/BFS/DFS patterns

This commit is contained in:
2025-09-01 20:49:11 +01:00
parent fcba598a52
commit 096be9ed68
13 changed files with 2119 additions and 1 deletions

View File

@@ -14,7 +14,7 @@ import {
RelatedPatterns,
} from "@/components/patterns";
import { PatternVisualization } from "@/components/visualization";
import { TwoPointersVisualization, PrefixSumVisualization, LinkedListVisualization, MonotonicStackVisualization } from "@/components/visualizations-new";
import { TwoPointersVisualization, PrefixSumVisualization, LinkedListVisualization, MonotonicStackVisualization, TreeTraversalVisualization, BFSVisualization, DFSVisualization } from "@/components/visualizations-new";
import { twoSumAlgorithm } from "@/content/algorithms/two-sum";
import { slidingWindowAlgorithm } from "@/content/algorithms/sliding-window";
import { binarySearchAlgorithm } from "@/content/algorithms/binary-search";
@@ -22,6 +22,9 @@ import { prefixSumAlgorithm } from "@/content/algorithms/prefix-sum";
import { fastSlowPointersAlgorithm } from "@/content/algorithms/fast-slow-pointers";
import { linkedListReversalAlgorithm } from "@/content/algorithms/linkedlist-reversal";
import { monotonicStackAlgorithm } from "@/content/algorithms/monotonic-stack";
import { treeTraversalAlgorithm } from "@/content/algorithms/tree-traversal";
import { bfsAlgorithm } from "@/content/algorithms/bfs";
import { dfsAlgorithm } from "@/content/algorithms/dfs";
interface PageProps {
params: Promise<{ slug: string }>;
@@ -128,6 +131,12 @@ export default async function PatternDetailPage({ params }: PageProps) {
<LinkedListVisualization algorithm={linkedListReversalAlgorithm} />
) : slug === "monotonic-stack" ? (
<MonotonicStackVisualization algorithm={monotonicStackAlgorithm} />
) : slug === "tree-traversal" ? (
<TreeTraversalVisualization algorithm={treeTraversalAlgorithm} />
) : slug === "bfs" ? (
<BFSVisualization algorithm={bfsAlgorithm} />
) : slug === "dfs" ? (
<DFSVisualization algorithm={dfsAlgorithm} />
) : pattern.visualization_examples && pattern.visualization_examples.length > 0 ? (
<Card>
<CardHeader>