---
id: TASK-42
title: 'Разбор задачи: Find Duplicate Subtrees (Extra)'
status: Done
assignee:
  - '@assistant'
created_date: '2026-09-10 07:51'
updated_date: '2026-09-10 11:07'
labels: []
dependencies: []
references:
  - applications/yandex-codenv/algo-solutions/_template.md
modified_files:
  - >-
    applications/yandex-codenv/algo-solutions/extra/10-find-duplicate-subtrees.md
priority: low
type: task
ordinal: 42000
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Файл: algo-solutions/extra/10-find-duplicate-subtrees.md. Medium, сериализация + hash.
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 Файл создан со всеми секциями формата
<!-- AC:END -->

## Implementation Plan

<!-- SECTION:PLAN:BEGIN -->
1. Изучить задачу и существующий формат решений (сделано)
2. Создать файл `algo-solutions/extra/10-find-duplicate-subtrees.md` по шаблону
3. Проверить, что файл создан корректно со всеми секциями
4. Закоммитить изменения
<!-- SECTION:PLAN:END -->

## Implementation Notes

<!-- SECTION:NOTES:BEGIN -->
Файл создан: applications/yandex-codenv/algo-solutions/extra/10-find-duplicate-subtrees.md (121 строка). Проверено объективно:
- Все 9 секций шаблона + frontmatter (6 полей) присутствуют
- Код решения из файла извлечён и прогнан на 5 тест-кейсах (примеры LeetCode 1-3 + пустое дерево + один узел) — ALL PASSED
- Доп. замечание: сложность сериализацией O(n^2) worst-case на скошенном дереве; ID-подход (Merkle) даёт O(n) — отражено в таблице альтернатив
<!-- SECTION:NOTES:END -->

## Final Summary

<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Создан разбор задачи Find Duplicate Subtrees (LeetCode 652, Medium, Tree DFS + Hash) по шаблону: условие с примерами, ключевая идея (сериализация поддеревьев + HashMap со счётчиком), сложность, Ruby-решение, пошаговый разбор на примере, edge cases, типичные ошибки, таблица альтернатив (brute-force / сериализация / Merkle-ID).

Верификация: извлечённый из файла код прогнан на 5 self-check кейсах (примеры 1-3 из LeetCode + nil + single node) — все PASS; структура файла сверена с шаблоном по секциям и frontmatter (все поля на месте).
<!-- SECTION:FINAL_SUMMARY:END -->
