Re: Обычный вопрос на собеседовании
От: % Австралия жж
Дата: 11.06.19 20:56
Оценка: 1 (1)
Здравствуйте, Ватакуси, Вы писали:

В>Придумайте структуру(ы) данных, алгоритм(ы) для слияния двух деревьев, представляющих

В>а) Шаблон документа с разделами, имеющими 3 уровня вложенности (макс)
В>б) документ, унаследованный от этого шаблона и который может добавлять свои разделы на любом уровне из пункта а), но не может их менять.
2 указателя, BFS по документу и по шаблону;

вытаскиваем узел из queue документа, и вытаскиваем узлы из шаблона, пока не наступит совпадение пути. Копируем данные в список к узлу шаблона; вытаскиваем следующий узел документа. Это даст линейную сложность O(m+n).

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


В>- Желательно, чтобы при изменении шаблона нужно было перестраивать все документы, от него унаследованные.

очевидно, не нужно?
В>- Задача на звёздочку, обеспечить работу удаления разделов в шаблоне.
Т.е. удаление по маске пути? DFS это childs play.
LIVE camera in Dee Why: http://www.coastalwatch.com/surf-cams-surf-reports/nsw/dee-why
Отредактировано 11.06.2019 21:23 Тёмчик . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.