Обычный вопрос на собеседовании
От: Ватакуси Россия  
Дата: 11.06.19 19:38
Оценка:
Придумайте структуру(ы) данных, алгоритм(ы) для слияния двух деревьев, представляющих
а) Шаблон документа с разделами, имеющими 3 уровня вложенности (макс)
б) Документ, унаследованный от этого шаблона и который может добавлять свои разделы на любом уровне из пункта а), но не может их менять.

Предполагается, что шаблон можно менять (но нельзя удалять уже существующие разделы, если есть хотя бы один унаследованный документ).

— Желательно, чтобы при изменении шаблона НЕ нужно было перестраивать все документы, от него унаследованные.
— Задача на звёздочку, обеспечить работу удаления разделов в шаблоне (без перестройки всех унаследованных документов).

PS: Что придумал самый лучший кандидат, я покажу позже. А пока — прошу предлагать свои решения.
PPS: Язык питон + алхимия + постгрес, но можно на самом деле использовать всё, что угодно.
Коо иу-то дзиман-о суру ё-ни наримас га...
Отредактировано 12.06.2019 9:50 Ватакуси . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.