Я реализую модифицированный класс обхода дерева предзаказов для дерева категорий на веб-сайте, но у меня возникли проблемы с одним сценарием. Обычно при вставке новой категории указывается родительский элемент верхнего уровня, левое значение которого используется в дереве, чтобы определить, где новая категория должна идти в дереве. Однако могут быть случаи, когда родитель не указан, а это означает, что новая категория должна находиться в верхней части дерева, справа от любых других категорий в верхней части дерева.
Глядя на некоторые другие приложения с похожими структурами, многие из них, похоже, вставляют «корневой» узел в дерево во время установки. Мне интересно, так ли это, чтобы им никогда не приходилось определять, является ли это первой вставкой, и у них всегда есть левая ссылка. Любые мысли или псевдокод будет высоко ценится. Я делаю это на PHP, если это имеет значение. Мое дерево может выглядеть примерно так:
Electronics Apparel My New Category
/ \ / \
MP3 TVs Shirts Shoes
Я думаю, что в этом сценарии правильное значение Одежды всегда будет наибольшим в таблице, но я не уверен, как использовать это, чтобы определить, является ли оно последним. Любая помощь или советы будут оценены.